aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2024-08-07 06:59:41 +0200
committerJakub Konka <kubkon@jakubkonka.com>2024-08-07 10:21:03 +0200
commit668fd7aca6364fdd1caf99dbe7473e93488b893e (patch)
treef46d4d7b75a5902a3cb5150517e737a82e1822ea /src
parent02f38d7749e5260dc2f48caef10390dd8d3cede5 (diff)
downloadzig-668fd7aca6364fdd1caf99dbe7473e93488b893e.tar.gz
zig-668fd7aca6364fdd1caf99dbe7473e93488b893e.zip
elf: handle SHN_UNDEF explicitly in ZigObject.resolveSymbols
Diffstat (limited to 'src')
-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 4544320c71..19e3674dd2 100644
--- a/src/link/Elf/ZigObject.zig
+++ b/src/link/Elf/ZigObject.zig
@@ -347,7 +347,7 @@ pub fn resolveSymbols(self: *ZigObject, elf_file: *Elf) !void {
const global = &self.symbols.items[index];
const esym = global.elfSym(elf_file);
const shndx = self.symtab.items(.shndx)[global.esym_index];
- if (esym.st_shndx != elf.SHN_ABS and esym.st_shndx != elf.SHN_COMMON) {
+ if (esym.st_shndx != elf.SHN_ABS and esym.st_shndx != elf.SHN_COMMON and esym.st_shndx != elf.SHN_UNDEF) {
assert(esym.st_shndx == SHN_ATOM);
const atom_ptr = self.atom(shndx) orelse continue;
if (!atom_ptr.alive) continue;