https://sourceware.org/bugzilla/show_bug.cgi?id=23850
--- Comment #3 from Fangrui Song <maskray at google dot com> --- (In reply to Alan Modra from comment #2) > .rela.plt in a static executable can only contain IRELATIVE relocations that > must have a zero symbol index. Thus it is not necessary for that particular > SHT_RELA section to have sh_link index .symtab. As you recognize, it is > also inconsistent to have a SHF_ALLOC SHT_RELA section sh_link point at a > non-SHF_ALLOC symbol table. You should probably report this problem as an > lld bug. > > That said, objcopy can be fixed without too much trouble, I think. I've fixed that lld bug https://reviews.llvm.org/D53993 InputSection *SymTab = Config->Relocatable ? In.SymTab : In.DynSymTab; getParent()->Link = SymTab ? SymTab->getParent()->SectionIndex : 0; Do you think if readelf -S should be taught not to warn in this case? This was the original motivation that sh_link pointed to .symtab % readelf -S a [ 0] NULL 0000000000000000 000000 000000 00 0 0 0 readelf: Warning: [ 1]: Link field (0) should index a symtab section. [ 1] .rela.plt RELA 0000000000200238 000238 000108 18 A 0 20 8 -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils