commit f8cbe29a17e17edf6679feb0d582f59ed4be7d7f (tree)
parent 93cc5496e1cca17ac8bc766bbb6aaec96ebb3588
Author: Jakub Konka <kubkon@jakubkonka.com>
Date: Thu, 20 Oct 2022 20:57:56 +0200
macho: fix incorrect lookup of symbols when calculating subtractors
Diffstat:
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/link/MachO/ZldAtom.zig b/src/link/MachO/ZldAtom.zig
@@ -498,8 +498,9 @@ fn resolveRelocsArm64(
atom.file,
});
+ const sym_index = reverse_lookup[rel.r_symbolnum];
const sym_loc = SymbolWithLoc{
- .sym_index = rel.r_symbolnum,
+ .sym_index = sym_index,
.file = atom.file,
};
const sym = zld.getSymbol(sym_loc);
@@ -783,8 +784,9 @@ fn resolveRelocsX86(
atom.file,
});
+ const sym_index = reverse_lookup[rel.r_symbolnum];
const sym_loc = SymbolWithLoc{
- .sym_index = rel.r_symbolnum,
+ .sym_index = sym_index,
.file = atom.file,
};
const sym = zld.getSymbol(sym_loc);