https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82757
--- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> --- On Mon, 30 Oct 2017, amodra at gmail dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82757 > > --- Comment #5 from Alan Modra <amodra at gmail dot com> --- > Incidentally, the only reason ld.bfd gets past the "plugin needed" warning is > that it only warns on a common symbol called __gnu_lto_slim, not an undefined > one.. Bump st_name by one for __gnu_lto_ symbols, perhaps? I guess that would work. We already handle __gnu_lto_ symbols specially by making them hidden. Index: libiberty/simple-object-elf.c =================================================================== --- libiberty/simple-object-elf.c (revision 254211) +++ libiberty/simple-object-elf.c (working copy) @@ -1384,7 +1384,12 @@ simple_object_elf_copy_lto_debug_section && p[1] == '_' && strncmp (p + (p[2] == '_'), "__gnu_lto_", 10) == 0) - other = STV_HIDDEN; + { + other = STV_HIDDEN; + ELF_SET_FIELD (type_functions, ei_class, Sym, + ent, st_name, Elf_Word, + st_name + 1); + } } } *st_other = other;