ld: Always output local symbol for relocatable link
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 8 Nov 2022 22:46:25 +0000 (14:46 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 9 Nov 2022 02:39:28 +0000 (18:39 -0800)
PR ld/29761
* elflink.c (elf_link_output_symstrtab): Don't skip local symbol
in SEC_EXCLUDE section for relocatable link.

bfd/elflink.c

index 019ac302905a2dbd0acd64d70080c101da633cbd..4ef0739416045027c8fbede5f7d176c4fd7a32d5 100644 (file)
@@ -9997,7 +9997,8 @@ elf_link_output_symstrtab (void *finf,
 
   if (name == NULL
       || *name == '\0'
-      || (input_sec->flags & SEC_EXCLUDE))
+      || (!bfd_link_relocatable (flinfo->info)
+         && (input_sec->flags & SEC_EXCLUDE)))
     elfsym->st_name = (unsigned long) -1;
   else
     {