aboutsummaryrefslogtreecommitdiff
path: root/src/link
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2024-08-08 21:46:19 +0200
committerJakub Konka <kubkon@jakubkonka.com>2024-08-13 13:30:24 +0200
commit97a65ea0d5275602fac39bb08ab23f2908f8845e (patch)
treecf8fd9939b42841f97d4f47d56b5a4592854b042 /src/link
parent24b915c9f218d48fa32bf0e8c0a02d274be5ca21 (diff)
downloadzig-97a65ea0d5275602fac39bb08ab23f2908f8845e.tar.gz
zig-97a65ea0d5275602fac39bb08ab23f2908f8845e.zip
elf: dirty offset table entry on moving Atom in off/addr space
Diffstat (limited to 'src/link')
-rw-r--r--src/link/Elf/ZigObject.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/link/Elf/ZigObject.zig b/src/link/Elf/ZigObject.zig
index 17e926417e..75a0fd2cbe 100644
--- a/src/link/Elf/ZigObject.zig
+++ b/src/link/Elf/ZigObject.zig
@@ -924,6 +924,10 @@ fn updateNavCode(
assert(sym.flags.has_zig_got);
const extra = sym.extra(elf_file);
try elf_file.zig_got.writeOne(elf_file, extra.zig_got);
+ if (stt_bits == elf.STT_FUNC) {
+ const offset_table = self.offsetTablePtr().?;
+ offset_table.entries.items(.dirty)[extra.zig_offset_table] = true;
+ }
}
}
} else if (code.len < old_size) {