zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Msrc/link/Elf/ZigObject.zig | 2+-
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