diff options
author | Alan Modra <amodra@gmail.com> | 2016-12-03 20:57:27 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2016-12-03 20:57:27 +1030 |
commit | 8400d40d954ec3b4a3fe9200645a1b6e90ba46f4 (patch) | |
tree | b18c124b37a02662d1efde529bd20ffd3325d3ad /bfd | |
parent | 474436e67c72d2426e79e600d725812514db0dbe (diff) | |
download | gdb-8400d40d954ec3b4a3fe9200645a1b6e90ba46f4.zip gdb-8400d40d954ec3b4a3fe9200645a1b6e90ba46f4.tar.gz gdb-8400d40d954ec3b4a3fe9200645a1b6e90ba46f4.tar.bz2 |
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.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf64-ppc.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 84ac6c0..7ec26b0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 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 flags when direct symbol is versioned_hidden. diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index bfdfc09..d7d6adb 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -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 (); |