PR ld/11088
authorAlan Modra <amodra@gmail.com>
Thu, 17 Dec 2009 00:07:38 +0000 (00:07 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 17 Dec 2009 00:07:38 +0000 (00:07 +0000)
* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Don't abort if symbol
hiding has nulled out plt.plist.

bfd/ChangeLog
bfd/elf64-ppc.c

index 0b8f40579ac63a51c55ab478c55bda73ee498a1d..1d430e35dfce94c95ab35ad62aa780e5f51449fd 100644 (file)
@@ -1,3 +1,9 @@
+2009-12-17  Alan Modra  <amodra@bigpond.net.au>
+
+       PR ld/11088
+       * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Don't abort if symbol
+       hiding has nulled out plt.plist.
+
 2009-12-15  H.J. Lu  <hongjiu.lu@intel.com>
 
        * opncls.c (bfd_opnr_iovec): Replace _XXX with XXX_P in
@@ -35,7 +41,7 @@
 
 2009-12-11  Tristan Gingold  <gingold@adacore.com>
 
-       * som.c (bfd_som_set_subsection_attributes) 
+       * som.c (bfd_som_set_subsection_attributes)
        (bfd_section_from_som_symbol, som_reloc_queue_fix): Fix shadowed
        variable warnings.
        * cache.c (close_one): Likewise.
index a181c282763601286ba3cbc1fc9c44116e2644ad..cb8ded137d1ceced3c269081834e3d7ce6cb6d8c 100644 (file)
@@ -5864,9 +5864,7 @@ ppc64_elf_gc_sweep_hook (bfd *abfd, struct bfd_link_info *info,
              for (ent = h->plt.plist; ent != NULL; ent = ent->next)
                if (ent->addend == rel->r_addend)
                  break;
-             if (ent == NULL)
-               abort ();
-             if (ent->plt.refcount > 0)
+             if (ent != NULL && ent->plt.refcount > 0)
                ent->plt.refcount -= 1;
            }
          break;