diff options
author | Alan Modra <amodra@gmail.com> | 2011-10-07 23:06:09 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2011-10-07 23:06:09 +0000 |
commit | d56d55e7af730af390a97d844e32c47e4c1240fb (patch) | |
tree | fda75d2fa07f53ea1dde771c21e45c6f12142c63 /bfd | |
parent | 9c15afc467bfda43425d9d7f024168534b44396c (diff) | |
download | fsf-binutils-gdb-d56d55e7af730af390a97d844e32c47e4c1240fb.zip fsf-binutils-gdb-d56d55e7af730af390a97d844e32c47e4c1240fb.tar.gz fsf-binutils-gdb-d56d55e7af730af390a97d844e32c47e4c1240fb.tar.bz2 |
* elflink.c (elf_link_output_extsym): Strip defined plugin symbols
even when strip_discarded is false.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.c | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7e858e2..e2d28e6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2011-10-08 Alan Modra <amodra@gmail.com> + + * elflink.c (elf_link_output_extsym): Strip defined plugin symbols + even when strip_discarded is false. + 2011-10-05 Kai Tietz <ktietz@redhat.com> * coffgen.c (coff_write_alien_symbol): Don't write diff --git a/bfd/elflink.c b/bfd/elflink.c index 5d181f7..3ae4350 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -8679,10 +8679,12 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) && bfd_hash_lookup (finfo->info->keep_hash, h->root.root.string, FALSE, FALSE) == NULL) strip = TRUE; - else if (finfo->info->strip_discarded - && (h->root.type == bfd_link_hash_defined - || h->root.type == bfd_link_hash_defweak) - && elf_discarded_section (h->root.u.def.section)) + else if ((h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak) + && ((finfo->info->strip_discarded + && elf_discarded_section (h->root.u.def.section)) + || (h->root.u.def.section->owner != NULL + && (h->root.u.def.section->owner->flags & BFD_PLUGIN) != 0))) strip = TRUE; else if ((h->root.type == bfd_link_hash_undefined || h->root.type == bfd_link_hash_undefweak) |