diff options
author | Alan Modra <amodra@gmail.com> | 2017-10-25 15:32:52 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-10-25 15:32:52 +1030 |
commit | e601d38b7cc222345d4128f45db18529b9fb477b (patch) | |
tree | 79f1755871c5362ca049b2123b7038f2d6787b8f /gold | |
parent | 94092126a05ee625bf05d48cb331472b8f87d235 (diff) | |
download | binutils-e601d38b7cc222345d4128f45db18529b9fb477b.zip binutils-e601d38b7cc222345d4128f45db18529b9fb477b.tar.gz binutils-e601d38b7cc222345d4128f45db18529b9fb477b.tar.bz2 |
Allow for __gnu_lto_slim prefixed with extra "_"
Some targets prefix global symbols with "_".
bfd/
* archive.c (_bfd_compute_and_write_armap): Match "__gnu_lto_slim"
optionally prefixed with "_".
* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
binutils/
* nm.c (filter_symbols): Match "__gnu_lto_slim" optionally prefixed
with "_".
gold/
* symtab.cc (Symbol_table::add_from_relobj): Match "__gnu_lto_slim"
optionally prefixed with "_".
ld/
* testsuite/ld-plugin/lto-3r.d: Match "__gnu_lto_v" optionally
prefixed with "_".
* testsuite/ld-plugin/lto-5r.d: Likewise.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/symtab.cc | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 2184e9a..4ab533d 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2017-10-25 Alan Modra <amodra@gmail.com> + + * symtab.cc (Symbol_table::add_from_relobj): Match "__gnu_lto_slim" + optionally prefixed with "_". + 2017-10-20 Sriraman Tallam <tmsriram@google.com> * options.h (-z,text_unlikely_segment): New option. diff --git a/gold/symtab.cc b/gold/symtab.cc index 1555de6..7ebcd6b 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -1185,7 +1185,9 @@ Symbol_table::add_from_relobj( const char* name = sym_names + st_name; if (!parameters->options().relocatable() - && strcmp (name, "__gnu_lto_slim") == 0) + && name[0] == '_' + && name[1] == '_' + && strcmp (name + (name[2] == '_'), "__gnu_lto_slim") == 0) gold_info(_("%s: plugin needed to handle lto object"), relobj->name().c_str()); |