From f8cbe29a17e17edf6679feb0d582f59ed4be7d7f Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Thu, 20 Oct 2022 20:57:56 +0200 Subject: [PATCH] macho: fix incorrect lookup of symbols when calculating subtractors --- src/link/MachO/ZldAtom.zig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/link/MachO/ZldAtom.zig b/src/link/MachO/ZldAtom.zig index ea173b73ad..270dd2d4a7 100644 --- 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);