diff --git a/binutils-2.19.51.0.14-ppc-hidden-plt-relocs.patch b/binutils-2.19.51.0.14-ppc-hidden-plt-relocs.patch index e1f0f46..c190ee7 100644 --- a/binutils-2.19.51.0.14-ppc-hidden-plt-relocs.patch +++ b/binutils-2.19.51.0.14-ppc-hidden-plt-relocs.patch @@ -282,20 +282,6 @@ diff -rup ../binutils-2.19.51.0.14.original/bfd/elf32-ppc.c bfd/elf32-ppc.c { unsigned long t0; unsigned long t1; -diff -rup ../binutils-2.19.51.0.14.original/bfd/elf64-ppc.c bfd/elf64-ppc.c ---- ../binutils-2.19.51.0.14.original/bfd/elf64-ppc.c 2010-02-08 15:39:17.000000000 +0000 -+++ bfd/elf64-ppc.c 2010-02-08 16:02:47.000000000 +0000 -@@ -5640,9 +5640,7 @@ ppc64_elf_gc_sweep_hook (bfd *abfd, stru - for (ent = *ifunc; 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; - continue; - } diff -rup ../binutils-2.19.51.0.14.original/include/elf/ppc.h include/elf/ppc.h --- ../binutils-2.19.51.0.14.original/include/elf/ppc.h 2010-02-08 15:39:06.000000000 +0000 +++ include/elf/ppc.h 2010-02-08 16:47:05.000000000 +0000 @@ -313,3 +299,27 @@ diff -rup ../binutils-2.19.51.0.14.original/include/elf/ppc.h include/elf/ppc.h #endif /* Relocs added to support TLS. */ +--- ../binutils-2.19.51.0.14.original/bfd/elf64-ppc.c 2010-02-08 15:39:17.000000000 +0000 ++++ bfd/elf64-ppc.c 2010-02-09 15:36:43.000000000 +0000 +@@ -5640,9 +5640,7 @@ ppc64_elf_gc_sweep_hook (bfd *abfd, stru + for (ent = *ifunc; 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; + continue; + } +@@ -5721,9 +5719,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; diff --git a/binutils.spec b/binutils.spec index fa8bac3..2a56993 100644 --- a/binutils.spec +++ b/binutils.spec @@ -17,7 +17,7 @@ Summary: A GNU collection of binary utilities Name: %{?cross}binutils%{?_with_debug:-debug} Version: 2.19.51.0.14 -Release: 36%{?dist} +Release: 37%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils @@ -112,7 +112,7 @@ to consider using libelf instead of BFD. %patch11 -p0 -b .cxxfilt-java-doc~ %patch12 -p0 -b .cfi-sections~ %patch13 -p0 -b .ifunc-ld-s~ -%patch14 -p0 -b .ppc-plt-s~ +%patch14 -p0 -b .ppc-plt~ # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -380,6 +380,9 @@ exit 0 %endif # %{isnative} %changelog +* Tue Feb 9 2010 Nick Clifton 2.19.51.0.14-37 +- Add missing frag to BZ 562249 patch. + * Mon Feb 8 2010 Nick Clifton 2.19.51.0.14-36 - Fix PPC relaxation relocations. (BZ 562249, PR ld/11088)