diff options
author | Alan Modra <amodra@gmail.com> | 2014-07-28 22:18:25 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2014-07-28 22:33:55 +0930 |
commit | b794fc1d1c3a3dfb65b74a36fe96c474fee65000 (patch) | |
tree | 8ddcf3ad5e531f53a3d9bcdb7033972cfe94b76f | |
parent | 774bb79e9b9e192bcecc38da919edffaf9b5d236 (diff) | |
download | gdb-b794fc1d1c3a3dfb65b74a36fe96c474fee65000.zip gdb-b794fc1d1c3a3dfb65b74a36fe96c474fee65000.tar.gz gdb-b794fc1d1c3a3dfb65b74a36fe96c474fee65000.tar.bz2 |
Warn for ar/nm/ranlib/ld on lto objects without plugin
PR 13227
bfd/
* archive.c (_bfd_compute_and_write_armap): Warn on adding
__gnu_lto_slim to armap.
* linker.c (_bfd_generic_link_add_one_symbol): Warn on adding
__gnu_lto_slim to linker hash table.
binutils/
* nm.c (filter_symbols): Warn on __gnu_lto_slim.
-rw-r--r-- | bfd/ChangeLog | 8 | ||||
-rw-r--r-- | bfd/archive.c | 4 | ||||
-rw-r--r-- | bfd/linker.c | 8 | ||||
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/nm.c | 4 |
5 files changed, 28 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f187761..9444812 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +2014-07-28 Alan Modra <amodra@gmail.com> + + PR 13227 + * archive.c (_bfd_compute_and_write_armap): Warn on adding + __gnu_lto_slim to armap. + * linker.c (_bfd_generic_link_add_one_symbol): Warn on adding + __gnu_lto_slim to linker hash table. + 2014-07-27 Anthony Green <green@moxielogic.org> * config.bfd: Add moxie-*-moxiebox*. diff --git a/bfd/archive.c b/bfd/archive.c index 1c3ad52..40a3395 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -2357,6 +2357,10 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength) map = new_map; } + if (strcmp (syms[src_count]->name, "__gnu_lto_slim") == 0) + (*_bfd_error_handler) + (_("%s: plugin needed to handle lto object"), + bfd_get_filename (current)); namelen = strlen (syms[src_count]->name); amt = sizeof (char *); map[orl_count].name = (char **) bfd_alloc (arch, amt); diff --git a/bfd/linker.c b/bfd/linker.c index f6ae4e2..5ad7988 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -1642,7 +1642,13 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info, else if ((flags & BSF_WEAK) != 0) row = DEFW_ROW; else if (bfd_is_com_section (section)) - row = COMMON_ROW; + { + row = COMMON_ROW; + if (strcmp (name, "__gnu_lto_slim") == 0) + (*_bfd_error_handler) + (_("%s: plugin needed to handle lto object"), + bfd_get_filename (abfd)); + } else row = DEF_ROW; diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 58d6984..cf01c90 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2014-07-28 Alan Modra <amodra@gmail.com> + + PR 13227 + * nm.c (filter_symbols): Warn on __gnu_lto_slim. + 2014-07-07 Nick Clifton <nickc@redhat.com> * readelf.c (get_symbol_type): Revert accidental change to diff --git a/binutils/nm.c b/binutils/nm.c index 2a44a84..ecd147e 100644 --- a/binutils/nm.c +++ b/binutils/nm.c @@ -434,6 +434,10 @@ 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) + non_fatal (_("%s: plugin needed to handle lto object"), + bfd_get_filename (abfd)); + if (undefined_only) keep = bfd_is_und_section (sym->section); else if (external_only) |