| ... | @@ -347,7 +347,7 @@ pub fn resolveSymbols(self: *ZigObject, elf_file: *Elf) !void { | ... | @@ -347,7 +347,7 @@ pub fn resolveSymbols(self: *ZigObject, elf_file: *Elf) !void { |
| 347 | const global = &self.symbols.items[index]; | 347 | const global = &self.symbols.items[index]; |
| 348 | const esym = global.elfSym(elf_file); | 348 | const esym = global.elfSym(elf_file); |
| 349 | const shndx = self.symtab.items(.shndx)[global.esym_index]; | 349 | const shndx = self.symtab.items(.shndx)[global.esym_index]; |
| 350 | if (esym.st_shndx != elf.SHN_ABS and esym.st_shndx != elf.SHN_COMMON) { | 350 | if (esym.st_shndx != elf.SHN_ABS and esym.st_shndx != elf.SHN_COMMON and esym.st_shndx != elf.SHN_UNDEF) { |
| 351 | assert(esym.st_shndx == SHN_ATOM); | 351 | assert(esym.st_shndx == SHN_ATOM); |
| 352 | const atom_ptr = self.atom(shndx) orelse continue; | 352 | const atom_ptr = self.atom(shndx) orelse continue; |
| 353 | if (!atom_ptr.alive) continue; | 353 | if (!atom_ptr.alive) continue; |