authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-10-20 20:57:56+02:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-10-22 07:59:24+02:00
logf8cbe29a17e17edf6679feb0d582f59ed4be7d7f
treec5a47838be79bb0df426ef6f3997c0e0ec0315bb
parent93cc5496e1cca17ac8bc766bbb6aaec96ebb3588

macho: fix incorrect lookup of symbols when calculating subtractors


1 files changed, 4 insertions(+), 2 deletions(-)

src/link/MachO/ZldAtom.zig+4-2
...@@ -498,8 +498,9 @@ fn resolveRelocsArm64(...@@ -498,8 +498,9 @@ fn resolveRelocsArm64(
498 atom.file,498 atom.file,
499 });499 });
500500
501 const sym_index = reverse_lookup[rel.r_symbolnum];
501 const sym_loc = SymbolWithLoc{502 const sym_loc = SymbolWithLoc{
502 .sym_index = rel.r_symbolnum,503 .sym_index = sym_index,
503 .file = atom.file,504 .file = atom.file,
504 };505 };
505 const sym = zld.getSymbol(sym_loc);506 const sym = zld.getSymbol(sym_loc);
...@@ -783,8 +784,9 @@ fn resolveRelocsX86(...@@ -783,8 +784,9 @@ fn resolveRelocsX86(
783 atom.file,784 atom.file,
784 });785 });
785786
787 const sym_index = reverse_lookup[rel.r_symbolnum];
786 const sym_loc = SymbolWithLoc{788 const sym_loc = SymbolWithLoc{
787 .sym_index = rel.r_symbolnum,789 .sym_index = sym_index,
788 .file = atom.file,790 .file = atom.file,
789 };791 };
790 const sym = zld.getSymbol(sym_loc);792 const sym = zld.getSymbol(sym_loc);