Indirect and warning symbols

It's possible but unlikely that an indirect symbol points at a warning
symbol.

	* elf64-ppc.c (add_symbol_adjust): Correct order of tests for
	warning and indirect symbols.
This commit is contained in:
Alan Modra 2016-12-03 20:57:27 +10:30
parent 474436e67c
commit 8400d40d95
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2016-12-03 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (add_symbol_adjust): Correct order of tests for
warning and indirect symbols.
2016-12-03 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic

View File

@ -5063,12 +5063,12 @@ add_symbol_adjust (struct ppc_link_hash_entry *eh, struct bfd_link_info *info)
struct ppc_link_hash_table *htab;
struct ppc_link_hash_entry *fdh;
if (eh->elf.root.type == bfd_link_hash_indirect)
return TRUE;
if (eh->elf.root.type == bfd_link_hash_warning)
eh = (struct ppc_link_hash_entry *) eh->elf.root.u.i.link;
if (eh->elf.root.type == bfd_link_hash_indirect)
return TRUE;
if (eh->elf.root.root.string[0] != '.')
abort ();