diff --git a/binutils-2.23.51.0.1-ppc64-dyn-rel-count.patch b/binutils-2.23.51.0.1-ppc64-dyn-rel-count.patch new file mode 100644 index 0000000..e189e6f --- /dev/null +++ b/binutils-2.23.51.0.1-ppc64-dyn-rel-count.patch @@ -0,0 +1,34 @@ +*** ../binutils-2.23.51.0.1.orig/bfd/elf64-ppc.c 2013-02-04 08:56:55.637750850 +0000 +--- bfd/elf64-ppc.c 2013-02-04 08:57:52.024749066 +0000 +*************** dec_dynrel_count (bfd_vma r_info, +*** 7053,7066 **** + void *vpp = &elf_section_data (sec)->local_dynrel; + pp = (struct elf_dyn_relocs **) vpp; + } +- +- /* elf_gc_sweep may have already removed all dyn relocs associated +- with local syms for a given section. Don't report a dynreloc +- miscount. */ +- if (*pp == NULL) +- return TRUE; + } + + while ((p = *pp) != NULL) + { + if (p->sec == sec) +--- 7053,7067 ---- + void *vpp = &elf_section_data (sec)->local_dynrel; + pp = (struct elf_dyn_relocs **) vpp; + } + } + ++ /* elf_gc_sweep may have already removed all dyn relocs associated ++ with local syms for a given section. Also, symbol flags are ++ changed by elf_gc_sweep_symbol, confusing the test above. Don't ++ report a dynreloc miscount. */ ++ if (*pp == NULL && info->gc_sections) ++ return TRUE; ++ + while ((p = *pp) != NULL) + { + if (p->sec == sec) diff --git a/binutils.spec b/binutils.spec index 6245297..b70e430 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.23.51.0.1 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils @@ -46,6 +46,7 @@ Patch11: binutils-2.23.51.0.1-gold-keep.patch Patch12: binutils-rh805974.patch Patch13: binutils-rh805107.patch Patch14: binutils-2.23.51.0.1-arm-whitespace.patch +Patch15: binutils-2.23.51.0.1-ppc64-dyn-rel-count.patch %define gold_arches %ix86 x86_64 @@ -153,6 +154,7 @@ using libelf instead of BFD. %patch12 -p1 %patch13 -p1 %patch14 -p0 -b .arm-whitespace~ +%patch15 -p0 -b .dyn-rel-count~ # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -451,6 +453,9 @@ exit 0 %endif # %{isnative} %changelog +* Mon Feb 4 2013 Nick Clifton 2.23.51.0.1-7 +- Don't error when elf_gc_sweep_symbol clears def_regular. (#906273) + * Fri Jan 24 2013 Nick Clifton 2.23.51.0.1-6 - Allow more whitespace in ARM instructions. (#892261)