commit 96f221236dbea6c17d11fb41e83d9dcc12c48200 (tree)
parent 7c5c59191ec1d8879b70c47c54577e23f6262cc4
Author: Jakub Konka <kubkon@jakubkonka.com>
Date: Thu, 2 Nov 2023 11:49:41 +0100
elf: fix r_offset when emitting relocs for the linker
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/link/Elf/ZigObject.zig b/src/link/Elf/ZigObject.zig
@@ -558,7 +558,7 @@ pub fn writeRelaSections(self: ZigObject, elf_file: *Elf) !void {
while (true) {
for (atom.relocs(elf_file)) |rel| {
const target = elf_file.symbol(self.symbol(rel.r_sym()));
- const r_offset = target.value + rel.r_offset;
+ const r_offset = atom.value + rel.r_offset;
const r_sym: u32 = if (target.flags.global)
(target.esym_index & symbol_mask) + @as(u32, @intCast(self.local_esyms.slice().len))
else