diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index eb3cbc1819d..c8e1e137ab7 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,9 @@ +2017-10-30 Richard Biener + + PR lto/82757 + * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): + Strip two leading _s from the __gnu_lto_* symbols. + 2017-10-24 Alan Modra PR lto/82687 diff --git a/libiberty/simple-object-elf.c b/libiberty/simple-object-elf.c index 14f71053150..27431db98c7 100644 --- a/libiberty/simple-object-elf.c +++ b/libiberty/simple-object-elf.c @@ -1384,7 +1384,12 @@ simple_object_elf_copy_lto_debug_sections (simple_object_read *sobj, && 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 + 2); + } } } *st_other = other;