diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/archive.c | 6 | ||||
-rw-r--r-- | bfd/linker.c | 4 | ||||
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/nm.c | 4 | ||||
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/symtab.cc | 4 | ||||
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-plugin/lto-3r.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-plugin/lto-5r.d | 2 |
10 files changed, 38 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6f2f5e3..ca780aa 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2017-10-25 Alan Modra <amodra@gmail.com> + + * archive.c (_bfd_compute_and_write_armap): Match "__gnu_lto_slim" + optionally prefixed with "_". + * linker.c (_bfd_generic_link_add_one_symbol): Likewise. + 2017-10-24 Andrew Waterman <andrew@sifive.com> * elfnn-riscv.c (_bfd_riscv_relax_lui): Don't relax to c.lui diff --git a/bfd/archive.c b/bfd/archive.c index 1e87685..0b98df3 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -2411,7 +2411,11 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength) map = new_map; } - if (strcmp (syms[src_count]->name, "__gnu_lto_slim") == 0) + if (syms[src_count]->name[0] == '_' + && syms[src_count]->name[1] == '_' + && strcmp (syms[src_count]->name + + (syms[src_count]->name[2] == '_'), + "__gnu_lto_slim") == 0) _bfd_error_handler (_("%B: plugin needed to handle lto object"), current); diff --git a/bfd/linker.c b/bfd/linker.c index 72d5705..a96c6ed 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -1403,7 +1403,9 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info, { row = COMMON_ROW; if (!bfd_link_relocatable (info) - && strcmp (name, "__gnu_lto_slim") == 0) + && name[0] == '_' + && name[1] == '_' + && strcmp (name + (name[2] == '_'), "__gnu_lto_slim") == 0) _bfd_error_handler (_("%B: plugin needed to handle lto object"), abfd); } diff --git a/binutils/ChangeLog b/binutils/ChangeLog index ee0b81e..ad9d33b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2017-10-25 Alan Modra <amodra@gmail.com> + + * nm.c (filter_symbols): Match "__gnu_lto_slim" optionally prefixed + with "_". + 2017-10-18 Eric Botcazou <ebotcazou@adacore.com> * MAINTAINERS: Add myself as Visium maintainer. diff --git a/binutils/nm.c b/binutils/nm.c index 3328812..5b421785 100644 --- a/binutils/nm.c +++ b/binutils/nm.c @@ -478,7 +478,9 @@ filter_symbols (bfd *abfd, bfd_boolean is_dynamic, void *minisyms, if (sym == NULL) bfd_fatal (bfd_get_filename (abfd)); - if (strcmp (sym->name, "__gnu_lto_slim") == 0) + if (sym->name[0] == '_' + && sym->name[1] == '_' + && strcmp (sym->name + (sym->name[2] == '_'), "__gnu_lto_slim") == 0) non_fatal (_("%s: plugin needed to handle lto object"), bfd_get_filename (abfd)); 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()); diff --git a/ld/ChangeLog b/ld/ChangeLog index 368a496..27024b6 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2017-10-25 Alan Modra <amodra@gmail.com> + + * testsuite/ld-plugin/lto-3r.d: Match "__gnu_lto_v" optionally + prefixed with "_". + * testsuite/ld-plugin/lto-5r.d: Likewise. + 2017-10-25 Hans-Peter Nilsson <hp@axis.com> * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Fix typo for istarget. diff --git a/ld/testsuite/ld-plugin/lto-3r.d b/ld/testsuite/ld-plugin/lto-3r.d index 1d1befe..3726718 100644 --- a/ld/testsuite/ld-plugin/lto-3r.d +++ b/ld/testsuite/ld-plugin/lto-3r.d @@ -3,5 +3,5 @@ #nm: -p #... -[0-9a-f]+ C __gnu_lto_v.* +[0-9a-f]+ C _?__gnu_lto_v.* #pass diff --git a/ld/testsuite/ld-plugin/lto-5r.d b/ld/testsuite/ld-plugin/lto-5r.d index 43e9a5c..ad1da70 100644 --- a/ld/testsuite/ld-plugin/lto-5r.d +++ b/ld/testsuite/ld-plugin/lto-5r.d @@ -3,5 +3,5 @@ #nm: -p #... -[0-9a-f]+ C __gnu_lto_v.* +[0-9a-f]+ C _?__gnu_lto_v.* #pass |