* elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling.
authorAlan Modra <amodra@gmail.com>
Fri, 17 Feb 2006 12:52:58 +0000 (12:52 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 17 Feb 2006 12:52:58 +0000 (12:52 +0000)
* elf64-ppc.c (allocate_dynrelocs): Likewise.

bfd/ChangeLog
bfd/elf32-ppc.c
bfd/elf64-ppc.c

index 3f4da9cfa8672c159736f568c59603d5647faa2d..6162d9cb5f92c13c33fd539f722259a333689173 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling.
+       * elf64-ppc.c (allocate_dynrelocs): Likewise.
+
 2006-02-17  Alan Modra  <amodra@bigpond.net.au>
 
        PR ld/2218
index caa5ed44d9cec33564e8bbbbbbe25511b4eb2891..134b960db96e32da55c98e50495d85389423ab3d 100644 (file)
@@ -4546,7 +4546,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
 
       /* Also discard relocs on undefined weak syms with non-default
         visibility.  */
-      if (h->root.type == bfd_link_hash_undefweak)
+      if (eh->dyn_relocs != NULL
+         && h->root.type == bfd_link_hash_undefweak)
        {
          if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT)
            eh->dyn_relocs = NULL;
index 785c859de0d4eeca0f77735a95fc0cabc4e06943..1cfac82c741898de4f2ccb7ef4378595d0b1951a 100644 (file)
@@ -7582,7 +7582,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
 
       /* Also discard relocs on undefined weak syms with non-default
         visibility.  */
-      if (h->root.type == bfd_link_hash_undefweak)
+      if (eh->dyn_relocs != NULL
+         && h->root.type == bfd_link_hash_undefweak)
        {
          if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT)
            eh->dyn_relocs = NULL;