From d19001abac6b5c0bc478799dc683bf71a6e6b2d8 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Wed, 21 Feb 2024 22:49:58 +0100 Subject: [PATCH] elf: skip STT_NOTYPE only if SHN_UNDEF from symtab inclusion --- src/link/Elf/Object.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/link/Elf/Object.zig b/src/link/Elf/Object.zig index 31b31f0578..16f8e263e7 100644 --- a/src/link/Elf/Object.zig +++ b/src/link/Elf/Object.zig @@ -848,7 +848,8 @@ pub fn updateSymtabSize(self: *Object, elf_file: *Elf) !void { if (local.atom(elf_file)) |atom| if (!atom.flags.alive) continue; const esym = local.elfSym(elf_file); switch (esym.st_type()) { - elf.STT_SECTION, elf.STT_NOTYPE => continue, + elf.STT_SECTION => continue, + elf.STT_NOTYPE => if (esym.st_shndx == elf.SHN_UNDEF) continue, else => {}, } local.flags.output_symtab = true;