diff options
author | Alan Modra <amodra@gmail.com> | 2017-02-14 15:59:13 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-02-14 21:14:29 +1030 |
commit | 3ce86b7acde92ca0d041366e7cf36122cfbce514 (patch) | |
tree | 2c8bc7b1c576d3c1d9e900cea1b55a0209b6bd02 | |
parent | b2832b890d049cd200bfb926aa4b4b6ffcdca9d9 (diff) | |
download | gdb-3ce86b7acde92ca0d041366e7cf36122cfbce514.zip gdb-3ce86b7acde92ca0d041366e7cf36122cfbce514.tar.gz gdb-3ce86b7acde92ca0d041366e7cf36122cfbce514.tar.bz2 |
Update ppc64_elf_gc_mark_dynamic_ref
* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
--gc-keep-exported, and test versioned field of sym rather than
looking for @ in name.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf64-ppc.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d10fe8c..b406691 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2017-02-14 Alan Modra <amodra@gmail.com> + + * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support + --gc-keep-exported, and test versioned field of sym rather than + looking for @ in name. + 2017-02-13 Palmer Dabbelt <palmer@dabbelt.com> * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index e038bbf..cc47af3 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -6413,11 +6413,12 @@ ppc64_elf_gc_mark_dynamic_ref (struct elf_link_hash_entry *h, void *inf) && ELF_ST_VISIBILITY (eh->elf.other) != STV_INTERNAL && ELF_ST_VISIBILITY (eh->elf.other) != STV_HIDDEN && (!bfd_link_executable (info) + || info->gc_keep_exported || info->export_dynamic || (eh->elf.dynamic && d != NULL && (*d->match) (&d->head, NULL, eh->elf.root.root.string))) - && (strchr (eh->elf.root.root.string, ELF_VER_CHR) != NULL + && (eh->elf.versioned >= versioned || !bfd_hide_sym_by_version (info->version_info, eh->elf.root.root.string))))) { |