This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [Bug ld/11088] Internal Error in ppc64_elf_gc_sweep_hook
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Nick Clifton <nickc at redhat dot com>
- Cc: binutils at sourceware dot org
- Date: Thu, 17 Dec 2009 10:38:20 +1030
- Subject: Re: [Bug ld/11088] Internal Error in ppc64_elf_gc_sweep_hook
- References: <20091214113104.11088.nickc@redhat.com> <20091214234056.31975.qmail@sourceware.org> <4B289DA6.7060100@redhat.com>
Applied. I'll apply similar fixes later to elf32-ppc.c. I'm on
holiday and supposed to be house painting, not sitting in front of a
computer. :-)
PR ld/11088
* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Don't abort if symbol
hiding has nulled out plt.plist.
Index: bfd/elf64-ppc.c
===================================================================
RCS file: /cvs/src/src/bfd/elf64-ppc.c,v
retrieving revision 1.304
diff -u -p -r1.304 elf64-ppc.c
--- bfd/elf64-ppc.c 11 Dec 2009 13:42:03 -0000 1.304
+++ bfd/elf64-ppc.c 16 Dec 2009 23:30:45 -0000
@@ -5864,9 +5864,7 @@ ppc64_elf_gc_sweep_hook (bfd *abfd, stru
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;
--
Alan Modra
Australia Development Lab, IBM