diff options
author | Alan Modra <amodra@gmail.com> | 2011-12-07 12:15:54 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2011-12-07 12:15:54 +0000 |
commit | 6673f753c019918af9fc3eb97543e2c3a90460b9 (patch) | |
tree | b43c293608133bc516f464560e3df4795894589e /bfd | |
parent | afbb9e17e41abd51e78f31bfaa1ade56cb232d39 (diff) | |
download | gdb-6673f753c019918af9fc3eb97543e2c3a90460b9.zip gdb-6673f753c019918af9fc3eb97543e2c3a90460b9.tar.gz gdb-6673f753c019918af9fc3eb97543e2c3a90460b9.tar.bz2 |
PR ld/12772
* elflink.c (elf_gc_sweep_symbol): Discard unmarked symbols
defined in shared libraries.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elflink.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a6f8c6f..6b1e88a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2011-12-07 Alan Modra <amodra@gmail.com> + + PR ld/12772 + * elflink.c (elf_gc_sweep_symbol): Discard unmarked symbols + defined in shared libraries. + 2011-12-07 Tristan Gingold <gingold@adacore.com> * mach-o.c (bfd_mach_o_canonicalize_symtab): Fix indentation. diff --git a/bfd/elflink.c b/bfd/elflink.c index ac95c22..1d1ca0b 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -11725,7 +11725,8 @@ elf_gc_sweep_symbol (struct elf_link_hash_entry *h, void *data) if (!h->mark && (((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) - && !h->root.u.def.section->gc_mark) + && !(h->def_regular + && h->root.u.def.section->gc_mark)) || h->root.type == bfd_link_hash_undefined || h->root.type == bfd_link_hash_undefweak)) { |