From 7a3406881d88013bcd6a9fdede74c8933058be17 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 25 Apr 2013 16:28:02 +0100 Subject: [PATCH] Switch over to basing sources on the official FSF binutils releases. Retire binutils-2.23.52.0.1-revert-pr15149.patch. Update binutils-2.22.52.0.1-relro-on-by-default.patch and binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch. --- ...tils-2.22.52.0.1-relro-on-by-default.patch | 10 +-- ...ils-2.23.52.0.1-as-doc-texinfo-fixes.patch | 85 ++++++++----------- binutils.spec | 47 +++++++--- sources | 2 +- 4 files changed, 73 insertions(+), 71 deletions(-) diff --git a/binutils-2.22.52.0.1-relro-on-by-default.patch b/binutils-2.22.52.0.1-relro-on-by-default.patch index 5a87f94..7028339 100644 --- a/binutils-2.22.52.0.1-relro-on-by-default.patch +++ b/binutils-2.22.52.0.1-relro-on-by-default.patch @@ -78,14 +78,14 @@ diff -cpr ../binutils-2.22.52.0.1.orig/ld/testsuite/ld-bootstrap/bootstrap.exp l untested $testname continue } -*** ../binutils-2.22.52.0.2.orig/ld/emultempl/elf32.em 2012-04-30 16:12:52.642766221 +0100 ---- ld/emultempl/elf32.em 2012-04-30 16:13:13.869766905 +0100 +*** ../binutils-2.23.2.orig/ld/emultempl/elf32.em 2013-04-24 11:06:47.777176887 +0100 +--- ld/emultempl/elf32.em 2013-04-24 11:07:22.405177847 +0100 *************** gld${EMULATION_NAME}_before_parse (void) -*** 106,111 **** ---- 106,112 ---- +*** 105,110 **** +--- 105,111 ---- + input_flags.dynamic = ${DYNAMIC_LINK-TRUE}; config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`; config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`; - link_info.sharable_sections = `if test "$SHARABLE_SECTIONS" = "yes" ; then echo TRUE ; else echo FALSE ; fi`; + link_info.relro = TRUE; } diff --git a/binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch b/binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch index d0b657f..f1dbb70 100644 --- a/binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch +++ b/binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch @@ -1,23 +1,3 @@ -diff -cp ../binutils-2.23.52.0.1.orig/gas/doc/c-arc.texi gas/doc/c-arc.texi -*** ../binutils-2.23.52.0.1.orig/gas/doc/c-arc.texi 2013-03-04 08:25:32.051931944 +0000 ---- gas/doc/c-arc.texi 2013-03-04 08:26:19.234930452 +0000 -*************** The extension instructions are not macro -*** 220,226 **** - encodings for use of these instructions according to the specification - by the user. The parameters are: - -! @table @bullet - @item @var{name} - Name of the extension instruction - ---- 220,226 ---- - encodings for use of these instructions according to the specification - by the user. The parameters are: - -! @table @code - @item @var{name} - Name of the extension instruction - diff -cp ../binutils-2.23.52.0.1.orig/gas/doc/c-arm.texi gas/doc/c-arm.texi *** ../binutils-2.23.52.0.1.orig/gas/doc/c-arm.texi 2013-03-04 08:25:32.039931945 +0000 --- gas/doc/c-arm.texi 2013-03-04 08:27:37.462927978 +0000 @@ -144,9 +124,27 @@ diff -cp ../binutils-2.23.52.0.1.orig/gas/doc/c-arm.texi gas/doc/c-arm.texi @node ARM Directives @section ARM Machine Directives -diff -cp ../binutils-2.23.52.0.1.orig/gas/doc/c-cr16.texi gas/doc/c-cr16.texi -*** ../binutils-2.23.52.0.1.orig/gas/doc/c-cr16.texi 2013-03-04 08:25:32.086931943 +0000 ---- gas/doc/c-cr16.texi 2013-03-04 08:28:09.304926971 +0000 +*** ../binutils-2.23.2.orig/gas/doc/c-arc.texi 2013-04-24 11:06:46.573176853 +0100 +--- gas/doc/c-arc.texi 2013-04-24 11:13:18.257187711 +0100 +*************** The extension instructions are not macro +*** 220,226 **** + encodings for use of these instructions according to the specification + by the user. The parameters are: + +! @table @bullet + @item @var{name} + Name of the extension instruction + +--- 220,226 ---- + encodings for use of these instructions according to the specification + by the user. The parameters are: + +! @table @code + @item @var{name} + Name of the extension instruction + +*** ../binutils-2.23.2.orig/gas/doc/c-cr16.texi 2013-04-24 11:06:46.576176853 +0100 +--- gas/doc/c-cr16.texi 2013-04-24 11:14:25.456189574 +0100 *************** Operand expression type qualifier is an *** 44,69 **** CR16 target operand qualifiers and its size (in bits): @@ -154,23 +152,23 @@ diff -cp ../binutils-2.23.52.0.1.orig/gas/doc/c-cr16.texi gas/doc/c-cr16.texi @table @samp ! @item Immediate Operand ! - s ---- 4 bits -! @item +! @item ! - m ---- 16 bits, for movb and movw instructions. -! @item +! @item ! - m ---- 20 bits, movd instructions. -! @item +! @item ! - l ---- 32 bits ! ! @item Absolute Operand ! - s ---- Illegal specifier for this operand. -! @item +! @item ! - m ---- 20 bits, movd instructions. ! ! @item Displacement Operand ! - s ---- 8 bits ! @item ! - m ---- 16 bits -! @item +! @item ! - l ---- 24 bits @end table @@ -209,16 +207,15 @@ diff -cp ../binutils-2.23.52.0.1.orig/gas/doc/c-cr16.texi gas/doc/c-cr16.texi @end table For example: -diff -cp ../binutils-2.23.52.0.1.orig/gas/doc/c-tic54x.texi gas/doc/c-tic54x.texi -*** ../binutils-2.23.52.0.1.orig/gas/doc/c-tic54x.texi 2013-03-04 08:25:32.035931945 +0000 ---- gas/doc/c-tic54x.texi 2013-03-04 08:28:38.186926057 +0000 +*** ../binutils-2.23.2.orig/gas/doc/c-tic54x.texi 2013-04-24 11:06:46.571176853 +0100 +--- gas/doc/c-tic54x.texi 2013-04-24 11:15:13.653190910 +0100 *************** In this example, x is replaced with SYM2 *** 109,115 **** is replaced with x. At this point, x has already been encountered and the substitution stops. ! @smallexample @code - .asg "x",SYM1 + .asg "x",SYM1 .asg "SYM1",SYM2 .asg "SYM2",x --- 109,115 ---- @@ -226,40 +223,26 @@ diff -cp ../binutils-2.23.52.0.1.orig/gas/doc/c-tic54x.texi gas/doc/c-tic54x.tex and the substitution stops. ! @smallexample - .asg "x",SYM1 + .asg "x",SYM1 .asg "SYM1",SYM2 .asg "SYM2",x *************** Substitution may be forced in situations -*** 126,139 **** +*** 126,132 **** ambiguous by placing colons on either side of the subsym. The following - code: + code: ! @smallexample @code .eval "10",x LAB:X: add #x, a @end smallexample - - When assembled becomes: - -! @smallexample @code - LAB10 add #10, a - @end smallexample - ---- 126,139 ---- +--- 126,132 ---- ambiguous by placing colons on either side of the subsym. The following - code: + code: ! @smallexample .eval "10",x LAB:X: add #x, a @end smallexample - - When assembled becomes: - -! @smallexample - LAB10 add #10, a - @end smallexample - *************** The @code{LDX} pseudo-op is provided for *** 309,315 **** of a label or address. For example, if an address @code{_label} resides diff --git a/binutils.spec b/binutils.spec index f1e0d65..04fa923 100644 --- a/binutils.spec +++ b/binutils.spec @@ -16,16 +16,30 @@ Summary: A GNU collection of binary utilities Name: %{?cross}binutils%{?_with_debug:-debug} -Version: 2.23.52.0.1 -Release: 10%{?dist} +# 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: 1%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils -Source: ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-%{version}.tar.bz2 -# The ftp.kernel.org/pub/linux/devel/binutils/ page is (temporarily) unavailable -# so we use the GNU site instead. -# Source: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.bz2 +# 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 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 @@ -44,12 +58,10 @@ Patch10: binutils-2.22.52.0.4-no-config-h-check.patch Patch11: binutils-2.23.52.0.1-64-bit-thin-archives.patch # Fix errors reported by version 5.0 of texinfo Patch12: binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch -# Revert HJ's patch for PR15149. This stops the reporting of weak DT_NEEDED symbols. -Patch13: binutils-2.23.52.0.1-revert-pr15149.patch # Fix addr2line to use the dynamic symbol table if it could not find any ordinary symbols. -Patch14: binutils-2.23.52.0.1-addr2line-dynsymtab.patch +Patch13: binutils-2.23.52.0.1-addr2line-dynsymtab.patch # Check regular references without non-GOT references when building shared libraries. -Patch15: binutils-2.23.52.0.1-check-regular-ifunc-refs.patch +Patch14: binutils-2.23.52.0.1-check-regular-ifunc-refs.patch Provides: bundled(libiberty) @@ -141,7 +153,10 @@ Developers starting new projects are strongly encouraged to consider using libelf instead of BFD. %prep -%setup -q -n binutils-%{version} +# 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 %patch01 -p0 -b .libtool-lib64~ %patch02 -p0 -b .ppc64-pie~ %ifarch ia64 @@ -160,9 +175,8 @@ using libelf instead of BFD. %patch10 -p0 -b .no-config-h-check~ %patch11 -p0 -b .64bit-thin-archives~ %patch12 -p0 -b .gas-texinfo~ -%patch13 -p0 -b .revert-pr15149~ -%patch14 -p0 -b .addr2line~ -%patch15 -p0 -b .check-ifunc~ +%patch13 -p0 -b .addr2line~ +%patch14 -p0 -b .check-ifunc~ # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -462,6 +476,11 @@ exit 0 %endif # %{isnative} %changelog +* Wed Apr 24 2013 Nick Clifton - 2.23.88.0.1-1 +- Switch over to basing sources on the official FSF binutils releases. +- Retire binutils-2.23.52.0.1-revert-pr15149.patch. +- Update binutils-2.22.52.0.1-relro-on-by-default.patch and binutils-2.23.52.0.1-as-doc-texinfo-fixes.patch. + * Wed Apr 17 2013 Nick Clifton - 2.23.52.0.1-10 - Import patch for FSF mainline PR 15371 to fix ifunc references in shared libraries. (#927818) diff --git a/sources b/sources index c01daaf..11b2920 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8f4d08f202fdba774c5b875a4e7912f3 binutils-2.23.52.0.1.tar.bz2 +4f8fa651e35ef262edc01d60fb45702e binutils-2.23.2.tar.bz2