From 5b79e05f88c426c677ac447656f85f33c401509a Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Oct 04 2013 11:27:00 +0000 Subject: Rebase on binutils 2.24 snapshot. Retire: binutils-2.23.52.0.1-64-bit-thin-archives.patch, binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch, binutils-2.23.52.0.1-check-regular-ifunc-refs.patch, binutils-2.23.2-ld-texinfo-fixes.patch, binutils-2.23.2-bfd-texinfo-fixes.patch, binutils-2.23.2-dwz-alt-debuginfo.patch binutils-2.23.2-s390-gas-machinemode.patch binutils-2.23.2-xtensa.memset.patch binutils-2.23.2-s390-zEC12.patch binutils-2.23.2-arm-add-float-abi-to-e_flags.patch binutils-2.23.51.0.1-readelf-flush-stdout.patch --- diff --git a/binutils-2.23.2-kernel-ld-r.patch b/binutils-2.23.2-kernel-ld-r.patch index 50c2878..2ba70c5 100644 --- a/binutils-2.23.2-kernel-ld-r.patch +++ b/binutils-2.23.2-kernel-ld-r.patch @@ -224,9 +224,9 @@ diff -cpr ../binutils-2.23.2.orig/bfd/format.c bfd/format.c + } + } + - /* - FUNCTION - bfd_check_format_matches + struct bfd_preserve + { + void *marker; *************** bfd_check_format_matches (bfd *abfd, bfd *** 136,142 **** } @@ -234,8 +234,8 @@ diff -cpr ../binutils-2.23.2.orig/bfd/format.c bfd/format.c if (abfd->format != bfd_unknown) ! return abfd->format == format; - /* Since the target type was defaulted, check them - all in the hope that one will be uniquely recognized. */ + if (matching != NULL || *bfd_associated_vector != NULL) + { --- 163,172 ---- } @@ -245,8 +245,8 @@ diff -cpr ../binutils-2.23.2.orig/bfd/format.c bfd/format.c ! return abfd->format == format; ! } - /* Since the target type was defaulted, check them - all in the hope that one will be uniquely recognized. */ + if (matching != NULL || *bfd_associated_vector != NULL) + { *************** bfd_check_format_matches (bfd *abfd, bfd *** 322,327 **** --- 352,360 ---- @@ -256,9 +256,9 @@ diff -cpr ../binutils-2.23.2.orig/bfd/format.c bfd/format.c + + bfd_set_lto_type (abfd); + - return TRUE; /* File position has moved, BTW. */ - } + /* File position has moved, BTW. */ + return TRUE; diff -cpr ../binutils-2.23.2.orig/bfd/opncls.c bfd/opncls.c *** ../binutils-2.23.2.orig/bfd/opncls.c 2013-05-14 16:39:23.701717732 +0100 --- bfd/opncls.c 2013-05-14 16:40:07.008718933 +0100 @@ -2457,7 +2457,7 @@ diff -cpr ../binutils-2.23.2.orig/ld/ldmain.h ld/ldmain.h *************** extern void add_ysym (const char *); *** 43,46 **** --- 43,48 ---- - extern void add_wrap (const char *); + extern void add_ignoresym (struct bfd_link_info *, const char *); extern void add_keepsyms_file (const char *); + extern void ld_parse_linker_script (void); diff --git a/binutils-2.23.52.0.1-addr2line-dynsymtab.patch b/binutils-2.23.52.0.1-addr2line-dynsymtab.patch index d434e3f..68f0470 100644 --- a/binutils-2.23.52.0.1-addr2line-dynsymtab.patch +++ b/binutils-2.23.52.0.1-addr2line-dynsymtab.patch @@ -1,25 +1,3 @@ -*** ../binutils-2.23.52.0.1/binutils/addr2line.c 2013-02-27 20:28:03.000000000 +0000 ---- binutils/addr2line.c 2013-03-13 16:46:36.109519735 +0000 -*************** slurp_symtab (bfd *abfd) -*** 130,135 **** ---- 130,146 ---- - symcount = bfd_canonicalize_symtab (abfd, syms); - if (symcount < 0) - bfd_fatal (bfd_get_filename (abfd)); -+ -+ /* If there are no symbols left after canonicalization and -+ we have not tried the dynamic symbols then give them a go. */ -+ if (symcount == 0 -+ && ! dynamic -+ && (storage = bfd_get_dynamic_symtab_upper_bound (abfd)) > 0) -+ { -+ free (syms); -+ syms = xmalloc (storage); -+ symcount = bfd_canonicalize_dynamic_symtab (abfd, syms); -+ } - } - - /* These global variables are used to pass information between *** ../binutils-2.23.52.0.1.orig/bfd/opncls.c 2013-03-14 11:25:30.338306122 +0000 --- bfd/opncls.c 2013-03-14 12:20:21.686397360 +0000 *************** find_separate_debug_file (bfd *abfd, con @@ -36,8 +14,8 @@ *************** find_separate_debug_file (bfd *abfd, con *** 1332,1337 **** --- 1334,1359 ---- - return debugfile; - } + if (check_func (debugfile, crc32)) + goto found; + /* Then try in the global debug dir for Fedora libraries. */ + sprintf (debugfile, "%s%s%s", FEDORA_LIB_DEBUG_DIR, dir, base); diff --git a/binutils.spec b/binutils.spec index 788e102..8a8494f 100644 --- a/binutils.spec +++ b/binutils.spec @@ -16,30 +16,16 @@ Summary: A GNU collection of binary utilities Name: %{?cross}binutils%{?_with_debug:-debug} -# Note - this version number is a lie. It should actually be 2.23.2 since -# that is the version of the base sources. But we have decided to switch -# from tracking the Linux Kernel binutils releases to tracking the FSF -# binutils releases half way through the FSF binutils release cycle. The -# version prior to this change was 2.23.52.0.1, but if we just set the new -# version definition to be 2.23.2 then we would have a regression in the -# binutils rpm numbers, which would break the rpm update mechanism. So -# instead we create a bogus, higher, version number here. Once the next -# official binutils release happens (2.24.0) we will be able to restore -# Version to an honest value and everything will be good again. -Version: 2.23.88.0.1 -Release: 14%{?dist} +Version: 2.24.51 +Release: 1%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils -# Note - see comment about the definition of Version above. Once Version is -# restored to a proper value the definition of Source below should be changed -# to use %{version} instead of 2.23.2 -# # Note - the Linux Kernel binutils releases are too unstable and contain too # many controversial patches so we stick with the official FSF version # instead. -Source: http://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2 +Source: http://ftp.gnu.org/gnu/binutils/binutils-2.24.51.tar.bz2 Source2: binutils-2.19.50.0.1-output-format.sed Patch01: binutils-2.20.51.0.2-libtool-lib64.patch Patch02: binutils-2.20.51.0.10-ppc64-pie.patch @@ -54,32 +40,11 @@ Patch08: binutils-2.22.52.0.1-relro-on-by-default.patch Patch09: binutils-2.22.52.0.1-export-demangle.h.patch # Disable checks that config.h has been included before system headers. BZ #845084 Patch10: binutils-2.22.52.0.4-no-config-h-check.patch -# Fix the creation of the index table in 64-bit thin archives. -Patch11: binutils-2.23.52.0.1-64-bit-thin-archives.patch -# Fix errors reported by version 5.0 of texinfo in gas documentation -Patch12: binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch # Fix addr2line to use the dynamic symbol table if it could not find any ordinary symbols. -Patch13: binutils-2.23.52.0.1-addr2line-dynsymtab.patch -# Check regular references without non-GOT references when building shared libraries. -Patch14: binutils-2.23.52.0.1-check-regular-ifunc-refs.patch -# Fix errors reported by version 5.0 of texinfo in ld documentation -Patch15: binutils-2.23.2-ld-texinfo-fixes.patch -Patch16: binutils-2.23.2-kernel-ld-r.patch -Patch17: binutils-2.23.2-bfd-texinfo-fixes.patch -# Add support for the alternate debug info files created by the DWZ program. -Patch18: binutils-2.23.2-dwz-alt-debuginfo.patch -# Correct bug introduced by patch 16 -Patch19: binutils-2.23.2-aarch64-em.patch -# Add support for the .machinemode pseudo-op to the S/390 assembler. -Patch20: binutils-2.23.2-s390-gas-machinemode.patch -# Fix a snafu in the xtensa BFD sources -Patch21: binutils-2.23.2-xtensa.memset.patch -# Add support for the s/390 zEC12 architecture variant to assembler. -Patch22: binutils-2.23.2-s390-zEC12.patch -# Add ARM floating point ABI to the ELF header flags -Patch23: binutils-2.23.2-arm-add-float-abi-to-e_flags.patch -# Make readelf flush stdout before emitting an error or warning message. -Patch24: binutils-2.23.51.0.1-readelf-flush-stdout.patch +Patch11: binutils-2.23.52.0.1-addr2line-dynsymtab.patch +Patch12: binutils-2.23.2-kernel-ld-r.patch +# Correct bug introduced by patch 12 +Patch13: binutils-2.23.2-aarch64-em.patch Provides: bundled(libiberty) @@ -175,10 +140,7 @@ Developers starting new projects are strongly encouraged to consider using libelf instead of BFD. %prep -# Note - see comment about the definition of Version above. Once Version is -# restored to a proper value the definition of setup below should be changed -# to use %{version} instead of 2.23.2 -%setup -q -n binutils-2.23.2 +%setup -q -n binutils-%{version} %patch01 -p0 -b .libtool-lib64~ %patch02 -p0 -b .ppc64-pie~ %ifarch ia64 @@ -195,20 +157,9 @@ using libelf instead of BFD. %endif %patch09 -p0 -b .export-demangle-h~ %patch10 -p0 -b .no-config-h-check~ -%patch11 -p0 -b .64bit-thin-archives~ -%patch12 -p0 -b .gas-texinfo~ -%patch13 -p0 -b .addr2line~ -%patch14 -p0 -b .check-ifunc~ -%patch15 -p0 -b .ld-texinfo~ -%patch16 -p0 -b .kernel-ld-r~ -%patch17 -p0 -b .bfd-texinfo~ -%patch18 -p0 -b .dwz~ -%patch19 -p0 -b .aarch64~ -%patch20 -p0 -b .machinemode~ -%patch21 -p0 -b .xtensa~ -%patch22 -p0 -b .s390-zec12~ -%patch23 -p1 -b .arm-float~ -%patch24 -p0 -b .flush~ +%patch11 -p0 -b .addr2line~ +%patch12 -p0 -b .kernel-ld-r~ +%patch13 -p0 -b .aarch64~ # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -514,6 +465,20 @@ exit 0 %endif # %{isnative} %changelog +* Fri Oct 04 2013 Nick Clifton - 2.24.51-1 +- Rebase on binutils 2.24 snapshot. +- Retire: binutils-2.23.52.0.1-64-bit-thin-archives.patch, +- binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch, +- binutils-2.23.52.0.1-check-regular-ifunc-refs.patch, +- binutils-2.23.2-ld-texinfo-fixes.patch, +- binutils-2.23.2-bfd-texinfo-fixes.patch, +- binutils-2.23.2-dwz-alt-debuginfo.patch +- binutils-2.23.2-s390-gas-machinemode.patch +- binutils-2.23.2-xtensa.memset.patch +- binutils-2.23.2-s390-zEC12.patch +- binutils-2.23.2-arm-add-float-abi-to-e_flags.patch +- binutils-2.23.51.0.1-readelf-flush-stdout.patch + * Mon Sep 09 2013 Nick Clifton - 2.23.88.0.1-14 - Make readelf flush stdout before emitting an error or warning message. (#1005182) diff --git a/sources b/sources index 11b2920..2b26e02 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4f8fa651e35ef262edc01d60fb45702e binutils-2.23.2.tar.bz2 +6afcd4d1abb16fb12b2166fb03d0895e binutils-2.24.51.tar.bz2