From a66eed7a5dbef1ece41e565986c77659b7f1505f Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Thu, 29 Mar 2012 23:17:37 +0000
Subject: 	* elflink.c (_bfd_elf_gc_mark_reloc): Don't delve into dynamic
 	libraries.

---
 bfd/ChangeLog | 5 +++++
 bfd/elflink.c | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

(limited to 'bfd')

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;
-- 
cgit v1.1