diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3848bc7..390cb89 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2012-03-30 Alan Modra <amodra@gmail.com> + + * elflink.c (_bfd_elf_gc_mark_reloc): Don't delve into dynamic + libraries. + 2012-03-29 Alan Modra <amodra@gmail.com> * bfd-in.h (bfd_get_arch_size, bfd_get_sign_extend_vma): Delete. diff --git a/bfd/elflink.c b/bfd/elflink.c index 3236911..12025a3 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -11590,7 +11590,8 @@ _bfd_elf_gc_mark_reloc (struct bfd_link_info *info, rsec = _bfd_elf_gc_mark_rsec (info, sec, gc_mark_hook, cookie); if (rsec && !rsec->gc_mark) { - if (bfd_get_flavour (rsec->owner) != bfd_target_elf_flavour) + if (bfd_get_flavour (rsec->owner) != bfd_target_elf_flavour + || (rsec->owner->flags & DYNAMIC) != 0) rsec->gc_mark = 1; else if (!_bfd_elf_gc_mark (info, rsec, gc_mark_hook)) return FALSE; |