diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2024-08-07 06:59:41 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2024-08-07 10:21:03 +0200 |
| commit | 668fd7aca6364fdd1caf99dbe7473e93488b893e (patch) | |
| tree | f46d4d7b75a5902a3cb5150517e737a82e1822ea /src | |
| parent | 02f38d7749e5260dc2f48caef10390dd8d3cede5 (diff) | |
| download | zig-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.zig | 2 |
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; |
