aboutsummaryrefslogtreecommitdiff
path: root/src/link/Elf/ZigObject.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-11-02 11:49:41 +0100
committerJakub Konka <kubkon@jakubkonka.com>2023-11-04 09:11:14 +0100
commit96f221236dbea6c17d11fb41e83d9dcc12c48200 (patch)
tree95ac1d9f58d9bf1708cee88e70b061642d8b7914 /src/link/Elf/ZigObject.zig
parent7c5c59191ec1d8879b70c47c54577e23f6262cc4 (diff)
downloadzig-96f221236dbea6c17d11fb41e83d9dcc12c48200.tar.gz
zig-96f221236dbea6c17d11fb41e83d9dcc12c48200.zip
elf: fix r_offset when emitting relocs for the linker
Diffstat (limited to 'src/link/Elf/ZigObject.zig')
-rw-r--r--src/link/Elf/ZigObject.zig2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/link/Elf/ZigObject.zig b/src/link/Elf/ZigObject.zig
index 3d48cd405e..d0dd8a3bca 100644
--- 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