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.
This commit is contained in:
Alan Modra 2014-07-28 22:18:25 +09:30
parent 774bb79e9b
commit b794fc1d1c
5 changed files with 28 additions and 1 deletions

View File

@ -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*.

View File

@ -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);

View File

@ -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;

View File

@ -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

View File

@ -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)