Annotate patches with reason and lifetime expectances.

- Retire: binutils-2.24-ldforcele.patch
- Retire: binutils-2.25-set-long-long.patch
- Retire: binutils-2.25.1-cleansweep.patch
- Retire: binutils-2.26-fix-compile-warnings.patch
- Retire: binutils-2.28-ignore-gold-duplicates.patch
This commit is contained in:
Nick Clifton 2017-09-10 09:18:23 +01:00
parent b4e0b0f1cb
commit 1ba745a89f
6 changed files with 139 additions and 274 deletions

View File

@ -1,54 +0,0 @@
Common subdirectories: ../binutils-2.24.orig/ld/emulparams and ld/emulparams
Common subdirectories: ../binutils-2.24.orig/ld/emultempl and ld/emultempl
diff -up ../binutils-2.24.orig/ld/ldlang.c ld/ldlang.c
--- a/ld/ldlang.c 2014-05-09 10:35:04.589504928 +0100
+++ b/ld/ldlang.c 2014-05-09 10:35:55.515661478 +0100
@@ -7096,6 +7096,18 @@
&& little != NULL)
format = little;
+ if (getenv ("LD_FORCE_LE") != NULL)
+ {
+ if (strcmp (format, "elf64-powerpc") == 0)
+ format = "elf64-powerpcle";
+ else if (strcmp (format, "elf32-powerpc") == 0)
+ format = "elf32-powerpcle";
+ else if (strcmp (format, "elf64-big") == 0)
+ format = "elf64-little";
+ else if (strcmp (format, "elf32-big") == 0)
+ format = "elf32-little";
+ }
+
output_target = format;
}
}
Only in ld: ldlang.c.orig
diff -up ../binutils-2.24.orig/ld/ldmain.c ld/ldmain.c
--- a/ld/ldmain.c 2014-05-09 10:35:04.593504941 +0100
+++ b/ld/ldmain.c 2014-05-09 10:35:55.515661478 +0100
@@ -603,6 +603,18 @@
}
}
+ if ((strncmp (emulation, "elf64ppc", 8) == 0
+ || strncmp (emulation, "elf32ppc", 8) == 0)
+ && getenv ("LD_FORCE_LE") != NULL)
+ {
+ size_t len = strlen (emulation);
+ char *le = xmalloc (len + 2);
+ memcpy (le, emulation, 5);
+ le[5] = 'l';
+ memcpy (le + 6, emulation + 5, len - 4);
+ emulation = le;
+ }
+
return emulation;
}
Only in ld: ldmain.c.orig
Common subdirectories: ../binutils-2.24.orig/ld/ldscripts and ld/ldscripts
Common subdirectories: ../binutils-2.24.orig/ld/.libs and ld/.libs
Common subdirectories: ../binutils-2.24.orig/ld/po and ld/po
Common subdirectories: ../binutils-2.24.orig/ld/scripttempl and ld/scripttempl
Common subdirectories: ../binutils-2.24.orig/ld/testsuite and ld/testsuite
Common subdirectories: ../binutils-2.24.orig/ld/tmpdir and ld/tmpdir

View File

@ -1,38 +0,0 @@
diff -up binutils-2.25.orig/bfd/configure.ac binutils-2.25/bfd/configure.ac
--- binutils-2.25.orig/bfd/configure.ac 2014-12-24 10:34:45.590491143 +0000
+++ binutils-2.25/bfd/configure.ac 2014-12-24 10:36:12.997981992 +0000
@@ -183,11 +183,13 @@ if test "x${ac_cv_sizeof_long}" = "x8";
BFD_HOST_64BIT_LONG=1
test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
-elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
+fi
+if test "x${ac_cv_sizeof_long_long}" = "x8"; then
BFD_HOST_64BIT_LONG_LONG=1
test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
- if test "x${ac_cv_sizeof_void_p}" = "x8"; then
+ if test "x${ac_cv_sizeof_void_p}" = "x8" \
+ -a "x${ac_cv_sizeof_long}" != "x8"; then
BFD_HOSTPTR_T="unsigned long long"
fi
fi
diff -up ../binutils-2.20.51.0.7.original/bfd/configure ./bfd/configure
--- a/bfd/configure 2010-04-08 15:23:58.000000000 +0100
+++ b/bfd/configure 2010-04-08 15:24:06.000000000 +0100
@@ -12819,11 +12819,13 @@
BFD_HOST_64BIT_LONG=1
test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
-elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
+fi
+if test "x${ac_cv_sizeof_long_long}" = "x8"; then
BFD_HOST_64BIT_LONG_LONG=1
test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long long"
test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long long"
- if test "x${ac_cv_sizeof_void_p}" = "x8"; then
+ if test "x${ac_cv_sizeof_void_p}" = "x8" \
+ -a "x${ac_cv_sizeof_long}" != "x8"; then
BFD_HOSTPTR_T="unsigned long long"
fi
fi

View File

@ -1,63 +0,0 @@
--- ../binutils-2.25.1.orig/ld/testsuite/ld-plugin/lto.exp 2016-01-08 15:24:58.241083264 +0000
+++ ld/testsuite/ld-plugin/lto.exp 2016-01-08 16:30:51.845827089 +0000
@@ -386,6 +386,11 @@ if { [at_least_gcc_version 4 7] } {
}
}
+# Fedora specific binutils patches break some of the tests that follow...
+restore_notify
+return
+
+
# Run "ld -r" to generate inputs for complex LTO tests.
run_dump_test "lto-3r"
remote_exec host "mv" "tmpdir/dump tmpdir/lto-3.o"
--- ../binutils-2.26.orig/ld/testsuite/ld-size/size.exp 2016-01-27 15:51:27.223093570 +0000
+++ ld/testsuite/ld-size/size.exp 2016-01-27 16:00:04.262015016 +0000
@@ -113,37 +113,6 @@ run_cc_link_tests [list \
"libsize-6b.so" \
] \
[list \
- "Build libsize-7.so" \
- "-shared" \
- "-fPIC" \
- {size-7b.c} \
- {} \
- "libsize-7.so" \
- ] \
- [list \
- "Build size-7" \
- "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libsize-7.so" \
- "$NOPIE_CFLAGS" \
- {size-7a.c} \
- {{readelf -rW size-7.rd}} \
- "size-7.exe" \
- ] \
- [list \
- "Build libsize-8.so" \
- "-shared" "-fPIC" \
- {size-8b.c} \
- {} \
- "libsize-8.so" \
- ] \
- [list \
- "Build size-8" \
- "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libsize-8.so" \
- "$NOPIE_CFLAGS" \
- {size-8a.c} \
- {{readelf -rW size-8.rd}} \
- "size-8.exe" \
- ] \
- [list \
"Build libsize-9.so" \
"-shared" \
"-fPIC" \
@@ -161,6 +130,8 @@ run_cc_link_tests [list \
] \
]
+return
+
# Check if size relocation works at run-time.
catch "exec tmpdir/size-7.exe > tmpdir/dump.out" exec_output
if ![string match "" $exec_output] then {

View File

@ -1,38 +0,0 @@
--- binutils-2.26.orig/gold/dirsearch.cc 2016-02-04 10:31:45.228796199 +0000
+++ binutils-2.26/gold/dirsearch.cc 2016-02-04 11:33:15.875824355 +0000
@@ -122,6 +122,7 @@ class Dir_caches
Cache_hash caches_;
};
+#if 0
Dir_caches::~Dir_caches()
{
for (Cache_hash::iterator p = this->caches_.begin();
@@ -129,6 +130,7 @@ Dir_caches::~Dir_caches()
++p)
delete p->second;
}
+#endif
void
Dir_caches::add(const char* dirname)
--- binutils-2.26.orig/gold/arm.cc 2016-02-04 10:31:45.227796193 +0000
+++ binutils-2.26/gold/arm.cc 2016-02-04 12:02:43.897996168 +0000
@@ -4493,7 +4493,7 @@ Stub::do_fixed_endian_write(unsigned cha
// Reloc_stub::Key methods.
// Dump a Key as a string for debugging.
-
+#if 0
std::string
Reloc_stub::Key::name() const
{
@@ -4524,7 +4524,7 @@ Reloc_stub::Key::name() const
return std::string(buffer);
}
}
-
+#endif
// Reloc_stub methods.
// Determine the type of stub needed, if any, for a relocation of R_TYPE at

View File

@ -1,14 +0,0 @@
diff -rup binutils.orig/ld/ldmain.c binutils-2.28/ld/ldmain.c
--- binutils.orig/ld/ldmain.c 2017-06-09 09:08:26.954016429 +0100
+++ binutils-2.28/ld/ldmain.c 2017-06-09 09:09:11.307490976 +0100
@@ -923,6 +923,10 @@ multiple_definition (struct bfd_link_inf
obfd = h->u.def.section->owner;
break;
case bfd_link_hash_indirect:
+ /* PR 21074: The GOLD linker can produce multiple indirect
+ refences to the same symbol. These can be ignored. */
+ if (bfd_is_ind_section (nsec))
+ return;
osec = bfd_ind_section_ptr;
oval = 0;
obfd = NULL;

View File

@ -1,19 +1,14 @@
# rpmbuild parameters: # Binutils SPEC file. Can be invoked with the following parameters:
# --define "binutils_target arm-linux-gnu" to create arm-linux-gnu-binutils. # --define "binutils_target arm-linux-gnu" to create arm-linux-gnu-binutils.
# --with=bootstrap: Build with minimal dependencies. # --with=bootstrap: Build with minimal dependencies.
# --with=debug: Build without optimizations and without splitting the debuginfo. # --with=debug: Build without optimizations and without splitting the debuginfo.
# --without=docs: Skip building documentation. # --without=docs: Skip building documentation.
# --without=testsuite: Do not run the testsuite. # --without=testsuite: Do not run the testsuite. Default is to run it.
# --with=testsuite: Run the testsuite. Default when --with=debug is not to run it.
#---Start of Configure Options-----------------------------------------------------------------------
%if 0%{!?binutils_target:1}
%define binutils_target %{_target_platform}
%define isnative 1
%define enable_shared 1
%else
%define cross %{binutils_target}-
%define isnative 0
%define enable_shared 0
%endif
# BZ 1124342: Provide a way to enable deterministic archives. # BZ 1124342: Provide a way to enable deterministic archives.
# BZ 1195883: But do not do this by default. # BZ 1195883: But do not do this by default.
%define enable_deterministic_archives 0 %define enable_deterministic_archives 0
@ -21,6 +16,8 @@
%define enable_lto 1 %define enable_lto 1
# Disable the default generation of compressed debug sections. # Disable the default generation of compressed debug sections.
%define default_compress_debug 0 %define default_compress_debug 0
# Default to read-only-relocations (relro) in shared binaries.
%define default_relro 1
# Default: Not bootstrapping. # Default: Not bootstrapping.
%bcond_with bootstrap %bcond_with bootstrap
@ -40,10 +37,24 @@
%undefine with_testsuite %undefine with_testsuite
%endif %endif
#----End of Configure Options-----------------------------------------------------------------------
%if 0%{!?binutils_target:1}
%define binutils_target %{_target_platform}
%define isnative 1
%define enable_shared 1
%else
%define cross %{binutils_target}-
%define isnative 0
%define enable_shared 0
%endif
#---------------------------------------------------------------------------------
Summary: A GNU collection of binary utilities Summary: A GNU collection of binary utilities
Name: %{?cross}binutils%{?_with_debug:-debug} Name: %{?cross}binutils%{?_with_debug:-debug}
Version: 2.29 Version: 2.29
Release: 6%{?dist} Release: 7%{?dist}
License: GPLv3+ License: GPLv3+
Group: Development/Tools Group: Development/Tools
URL: http://sources.redhat.com/binutils URL: http://sources.redhat.com/binutils
@ -56,35 +67,63 @@ Source: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.xz
Source2: binutils-2.19.50.0.1-output-format.sed Source2: binutils-2.19.50.0.1-output-format.sed
# Purpose: Use /lib64 and /usr/lib64 instead of /lib and /usr/lib in the
# default library search path of 64-bit targets.
# Lifetime: Permanent, but it should not be. This is a bug in the libtool
# sources used in both binutils and gcc, (specifically the libtool.m4
# file). These are based on a version released in 2009 (2.2.6?) rather
# than the latest version. (Definitely fixed in libtool version 2.4.6).
Patch01: binutils-2.20.51.0.2-libtool-lib64.patch Patch01: binutils-2.20.51.0.2-libtool-lib64.patch
# Purpose: Appends a RHEL or Fedora release string to the generic binutils version string.
# Lifetime: Permanent. This is a RHEL/Fedora specific patch.
Patch02: binutils-2.25-version.patch Patch02: binutils-2.25-version.patch
Patch03: binutils-2.25-set-long-long.patch
# Purpose: Prevent a seg-fault when attempting to pad a section with a NULL padding pointer.
# Lifetime: Permanent - but should be contributed upstream and fixed.
# FIXME: Need a test case to reproduce the potential bug so
# that the patch can be contributes.
Patch04: binutils-2.20.51.0.10-sec-merge-emit.patch Patch04: binutils-2.20.51.0.10-sec-merge-emit.patch
# Enable -zrelro by default: BZ #621983
Patch05: binutils-2.22.52.0.1-relro-on-by-default.patch # Purpose: Exports the demangle.h header file (associated with the libiberty sources) with
# Local patch - export demangle.h with the binutils-devel rpm. # the binutils-devel rpm.
# Lifetime: Permanent. This is a RHEL/Fedora specific patch.
Patch06: binutils-2.22.52.0.1-export-demangle.h.patch Patch06: binutils-2.22.52.0.1-export-demangle.h.patch
# Disable checks that config.h has been included before system headers. BZ #845084
# Purpose: Disables the check in the BFD library's header file that config.h has been
# included before the bfd.h header. See BZ #845084 for more details.
# Lifetime: Permanent - but it should not be. The bfd.h header defines various types that
# are dependent upon configuration options, so he order of inclusion is important.
# FIXME: It would be better if the packages using the BFD header were fixed so
# that they do include the header files in the correct order. It may also be
# necessary to add a way for a package to tell the bfd.h header that this check
# is not necessary.
Patch07: binutils-2.22.52.0.4-no-config-h-check.patch Patch07: binutils-2.22.52.0.4-no-config-h-check.patch
# Fix detections little endian PPC shared libraries
Patch08: binutils-2.24-ldforcele.patch # Purpose: Import H.J.Lu's Kernel LTO patch.
Patch09: binutils-2.25.1-cleansweep.patch # Lifetime: Permanent, but needs continual updating.
Patch10: binutils-2.26-fix-compile-warnings.patch
# Import H.J.Lu's Kernel LTO patch.
Patch11: binutils-2.26-lto.patch Patch11: binutils-2.26-lto.patch
# Skip PR14918 linker test for ARM native targets.
# Purpose: Skip PR14918 linker test for ARM native targets.
# Lifetime: Permanent - but it should not be.
# FIXME: This patch should be contributed upstream.
Patch12: binutils-2.29-skip-rp14918-test-for-arm.patch Patch12: binutils-2.29-skip-rp14918-test-for-arm.patch
# Include the filename concerned in readelf error messages.
# Purpose: Include the filename concerned in readelf error messages.
# Lifetime: Permanent. This patch changes the format of readelf's output, making it
# better (IMHO) but also potentially breaking tools that depend upon readelf's
# current format. Hence it remains a local patch.
Patch13: binutils-2.29-filename-in-error-messages.patch Patch13: binutils-2.29-filename-in-error-messages.patch
# Ignore duplicate indirect symbols generated by GOLD.
Patch14: binutils-2.28-ignore-gold-duplicates.patch # Purpose: Do not enable the PPC64 plt-localentry0 linker optimization by default.
# Do not enable the PPC64 plt-localentry0 linker optimization by default. # Lifetime: Fixed in 2.29.1.
Patch15: binutils-2.29-ppc64-plt-localentry0-disable.patch Patch15: binutils-2.29-ppc64-plt-localentry0-disable.patch
#---------------------------------------------------------------------------------
Provides: bundled(libiberty) Provides: bundled(libiberty)
# BZ 1173780: Building GOLD for PPC is not working at the moment. # BZ 1173780: Building GOLD for PPC is not working at the moment.
# %define gold_arches %ix86 x86_64 %arm aarch64 ppc* %{power64}
%define gold_arches %ix86 x86_64 %arm aarch64 %define gold_arches %ix86 x86_64 %arm aarch64
%if %{with bootstrap} %if %{with bootstrap}
@ -155,6 +194,8 @@ Requires(preun): %{_sbindir}/alternatives
%define _gnu %{nil} %define _gnu %{nil}
%endif %endif
#---------------------------------------------------------------------------------
%description %description
Binutils is a collection of binary utilities, including ar (for Binutils is a collection of binary utilities, including ar (for
creating, modifying and extracting from archives), as (a family of GNU creating, modifying and extracting from archives), as (a family of GNU
@ -168,6 +209,8 @@ of an object or archive file), strings (for listing printable strings
from files), strip (for discarding symbols), and addr2line (for from files), strip (for discarding symbols), and addr2line (for
converting addresses to file and line). converting addresses to file and line).
#---------------------------------------------------------------------------------
%package devel %package devel
Summary: BFD and opcodes static and dynamic libraries and header files Summary: BFD and opcodes static and dynamic libraries and header files
Group: System Environment/Libraries Group: System Environment/Libraries
@ -195,24 +238,18 @@ dynamic libraries.
Developers starting new projects are strongly encouraged to consider Developers starting new projects are strongly encouraged to consider
using libelf instead of BFD. using libelf instead of BFD.
#---------------------------------------------------------------------------------
%prep %prep
%setup -q -n binutils-%{version} %setup -q -n binutils-%{version}
%patch01 -p1 -b .libtool-lib64~ %patch01 -p1
%patch02 -p1 -b .version~ %patch02 -p1
%patch03 -p1 -b .set-long-long~ %patch04 -p1
%patch04 -p1 -b .sec-merge-emit~ %patch06 -p1
%patch05 -p1 -b .relro~ %patch07 -p1
%patch06 -p1 -b .export-demangle-h~
%patch07 -p1 -b .no-config-h-check~
%ifarch ppc64le
%patch08 -p1 -b .ldforcele~
%endif
%patch09 -p0
%patch10 -p1
%patch11 -p1 %patch11 -p1
%patch12 -p1 %patch12 -p1
%patch13 -p1 %patch13 -p1
%patch14 -p1
%patch15 -p1 %patch15 -p1
# We cannot run autotools as there is an exact requirement of autoconf-2.59. # We cannot run autotools as there is an exact requirement of autoconf-2.59.
@ -251,15 +288,17 @@ touch */configure
%define _target_platform %{_arch}-%{_vendor}-%{_host_os} %define _target_platform %{_arch}-%{_vendor}-%{_host_os}
%endif %endif
#---------------------------------------------------------------------------------
%build %build
echo target is %{binutils_target} echo target is %{binutils_target}
%ifarch %{power64} %ifarch %{power64}
#CFLAGS=`echo $RPM_OPT_FLAGS | sed -e -s "s/-Werror//g"`
#export CFLAGS
export CFLAGS="$RPM_OPT_FLAGS -Wno-error" export CFLAGS="$RPM_OPT_FLAGS -Wno-error"
%else %else
export CFLAGS="$RPM_OPT_FLAGS" export CFLAGS="$RPM_OPT_FLAGS"
%endif %endif
CARGS= CARGS=
case %{binutils_target} in i?86*|sparc*|ppc*|s390*|sh*|arm*|aarch64*) case %{binutils_target} in i?86*|sparc*|ppc*|s390*|sh*|arm*|aarch64*)
@ -300,6 +339,7 @@ CFLAGS="$CFLAGS -O0 -ggdb2 -Wno-error -D_FORTIFY_SOURCE=0"
# We could optimize the cross builds size by --enable-shared but the produced # We could optimize the cross builds size by --enable-shared but the produced
# binaries may be less convenient in the embedded environment. # binaries may be less convenient in the embedded environment.
%configure \ %configure \
--quiet \
--build=%{_target_platform} --host=%{_target_platform} \ --build=%{_target_platform} --host=%{_target_platform} \
--target=%{binutils_target} \ --target=%{binutils_target} \
%ifarch %gold_arches %ifarch %gold_arches
@ -323,7 +363,7 @@ CFLAGS="$CFLAGS -O0 -ggdb2 -Wno-error -D_FORTIFY_SOURCE=0"
%endif %endif
%if %{enable_deterministic_archives} %if %{enable_deterministic_archives}
--enable-deterministic-archives \ --enable-deterministic-archives \
%else %else
--enable-deterministic-archives=no \ --enable-deterministic-archives=no \
%endif %endif
%if %{enable_lto} %if %{enable_lto}
@ -333,12 +373,17 @@ CFLAGS="$CFLAGS -O0 -ggdb2 -Wno-error -D_FORTIFY_SOURCE=0"
--enable-compressed-debug-sections=all \ --enable-compressed-debug-sections=all \
%else %else
--enable-compressed-debug-sections=none \ --enable-compressed-debug-sections=none \
%endif
%if %{default_relro}
--enable-relro=yes \
%else
--enable-relro=no \
%endif %endif
$CARGS \ $CARGS \
--enable-plugins \ --enable-plugins \
--with-bugurl=http://bugzilla.redhat.com/bugzilla/ --with-bugurl=http://bugzilla.redhat.com/bugzilla/
%if %{with docs} %if %{with docs}
make %{_smp_mflags} tooldir=%{_prefix} all make %{_smp_mflags} tooldir=%{_prefix} all
make %{_smp_mflags} tooldir=%{_prefix} info make %{_smp_mflags} tooldir=%{_prefix} info
%else %else
@ -363,16 +408,18 @@ uuencode binutils-%{_target_platform}.tar.bz2 binutils-%{_target_platform}.tar.b
rm -f binutils-%{_target_platform}.tar.bz2 binutils-%{_target_platform}-*.{sum,log} rm -f binutils-%{_target_platform}.tar.bz2 binutils-%{_target_platform}-*.{sum,log}
%endif %endif
#---------------------------------------------------------------------------------
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
%if %{with docs} %if %{with docs}
make install DESTDIR=%{buildroot} make install DESTDIR=%{buildroot}
%else %else
make install DESTDIR=%{buildroot} MAKEINFO=true make install DESTDIR=%{buildroot} MAKEINFO=true
%endif %endif
%if %{isnative} %if %{isnative}
%if %{with info} %if %{with docs}
make prefix=%{buildroot}%{_prefix} infodir=%{buildroot}%{_infodir} install-info make prefix=%{buildroot}%{_prefix} infodir=%{buildroot}%{_infodir} install-info
%endif %endif
@ -400,7 +447,7 @@ rm -f %{buildroot}%{_mandir}/man1/{dlltool,nlmconv,windres,windmc}*
%if %{enable_shared} %if %{enable_shared}
chmod +x %{buildroot}%{_libdir}/lib*.so* chmod +x %{buildroot}%{_libdir}/lib*.so*
%endif %endif # isnative
# Prevent programs from linking against libbfd and libopcodes # Prevent programs from linking against libbfd and libopcodes
# dynamically, as they are change far too often. # dynamically, as they are change far too often.
@ -453,14 +500,14 @@ $OUTPUT_FORMAT
INPUT ( %{_libdir}/libopcodes.a -lbfd ) INPUT ( %{_libdir}/libopcodes.a -lbfd )
EOH EOH
%else # !%{isnative} %else # !isnative
# For cross-binutils we drop the documentation. # For cross-binutils we drop the documentation.
rm -rf %{buildroot}%{_infodir} rm -rf %{buildroot}%{_infodir}
# We keep these as one can have native + cross binutils of different versions. # We keep these as one can have native + cross binutils of different versions.
#rm -rf %{buildroot}%{_prefix}/share/locale #rm -rf {buildroot}{_prefix}/share/locale
#rm -rf %{buildroot}%{_mandir} #rm -rf {buildroot}{_mandir}
rm -rf %{buildroot}%{_libdir}/libiberty.a rm -rf %{buildroot}%{_libdir}/libiberty.a
%endif # !%{isnative} %endif # !isnative
# This one comes from gcc # This one comes from gcc
rm -f %{buildroot}%{_infodir}/dir rm -f %{buildroot}%{_infodir}/dir
@ -485,9 +532,13 @@ if [ -x gold/ld-new ]; then
cat %{?cross}gold.lang >> %{?cross}binutils.lang cat %{?cross}gold.lang >> %{?cross}binutils.lang
fi fi
#---------------------------------------------------------------------------------
%clean %clean
rm -rf %{buildroot} rm -rf %{buildroot}
#---------------------------------------------------------------------------------
%post %post
%if "%{build_gold}" == "both" %if "%{build_gold}" == "both"
%__rm -f %{_bindir}/%{?cross}ld %__rm -f %{_bindir}/%{?cross}ld
@ -495,8 +546,9 @@ rm -rf %{buildroot}
%{_bindir}/%{?cross}ld.bfd %{ld_bfd_priority} %{_bindir}/%{?cross}ld.bfd %{ld_bfd_priority}
%{_sbindir}/alternatives --install %{_bindir}/%{?cross}ld %{?cross}ld \ %{_sbindir}/alternatives --install %{_bindir}/%{?cross}ld %{?cross}ld \
%{_bindir}/%{?cross}ld.gold %{ld_gold_priority} %{_bindir}/%{?cross}ld.gold %{ld_gold_priority}
%{_sbindir}/alternatives --auto %{?cross}ld %{_sbindir}/alternatives --auto %{?cross}ld
%endif %endif # both ld.gold and ld.bfd
%if %{isnative} %if %{isnative}
/sbin/ldconfig /sbin/ldconfig
%if %{with docs} %if %{with docs}
@ -505,16 +557,20 @@ rm -rf %{buildroot}
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
%endif # with docs %endif # with docs
%endif # %{isnative} %endif # isnative
exit 0 exit 0
#---------------------------------------------------------------------------------
%preun %preun
%if "%{build_gold}" == "both" %if "%{build_gold}" == "both"
if [ $1 = 0 ]; then if [ $1 = 0 ]; then
%{_sbindir}/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.bfd %{_sbindir}/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.bfd
%{_sbindir}/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.gold %{_sbindir}/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.gold
fi fi
%endif %endif # both ld.gold and ld.bfd
%if %{isnative} %if %{isnative}
if [ $1 = 0 ]; then if [ $1 = 0 ]; then
if [ -e %{_infodir}/binutils.info.gz ] if [ -e %{_infodir}/binutils.info.gz ]
@ -525,9 +581,12 @@ if [ $1 = 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
fi fi
fi fi
%endif %endif # isnative
exit 0 exit 0
#---------------------------------------------------------------------------------
%if %{isnative} %if %{isnative}
%postun %postun
/sbin/ldconfig /sbin/ldconfig
@ -538,29 +597,36 @@ exit 0
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
fi fi
%endif # %{isnative} %endif # isnative
#---------------------------------------------------------------------------------
%files -f %{?cross}binutils.lang %files -f %{?cross}binutils.lang
%defattr(-,root,root,-) %defattr(-,root,root,-)
%license COPYING COPYING3 COPYING3.LIB COPYING.LIB %license COPYING COPYING3 COPYING3.LIB COPYING.LIB
%doc README %doc README
%{_bindir}/%{?cross}[!l]* %{_bindir}/%{?cross}[!l]*
%if "%{build_gold}" == "both" %if "%{build_gold}" == "both"
%{_bindir}/%{?cross}ld.* %{_bindir}/%{?cross}ld.*
%ghost %{_bindir}/%{?cross}ld %ghost %{_bindir}/%{?cross}ld
%else %else
%{_bindir}/%{?cross}ld* %{_bindir}/%{?cross}ld*
%endif %endif # both ld.gold and ld.bfd
%if %{with docs}
%{_mandir}/man1/* %{_mandir}/man1/*
%{_infodir}/as.info.gz %{_infodir}/as.info.gz
%{_infodir}/binutils.info.gz %{_infodir}/binutils.info.gz
%{_infodir}/gprof.info.gz %{_infodir}/gprof.info.gz
%{_infodir}/ld.info.gz %{_infodir}/ld.info.gz
%endif # with docs
%if %{enable_shared} %if %{enable_shared}
%{_libdir}/lib*.so %{_libdir}/lib*.so
%exclude %{_libdir}/libbfd.so %exclude %{_libdir}/libbfd.so
%exclude %{_libdir}/libopcodes.so %exclude %{_libdir}/libopcodes.so
%endif %endif # enable_shared
%if %{isnative} %if %{isnative}
%if %{with docs} %if %{with docs}
@ -577,9 +643,19 @@ exit 0
%if %{with docs} %if %{with docs}
%{_infodir}/bfd*info* %{_infodir}/bfd*info*
%endif # with docs %endif # with docs
%endif # %{isnative} %endif # isnative
#---------------------------------------------------------------------------------
%changelog %changelog
* Sun Sep 10 2017 Nick Clifton <nickc@redhat.com> - 2.29-7
- Annotate patches with reason and lifetime expectances.
- Retire: binutils-2.24-ldforcele.patch
- Retire: binutils-2.25-set-long-long.patch
- Retire: binutils-2.25.1-cleansweep.patch
- Retire: binutils-2.26-fix-compile-warnings.patch
- Retire: binutils-2.28-ignore-gold-duplicates.patch
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.29-6 * Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.29-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
@ -686,7 +762,7 @@ exit 0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 02 2017 Stephen Gallagher <sgallagh@redhat.com> 2.27-16 * Thu Feb 02 2017 Stephen Gallagher <sgallagh@redhat.com> 2.27-16
- Install COPYING[*] files using the %license macro. - Install COPYING[*] files using the % license macro.
(#1418430) (#1418430)
* Tue Jan 31 2017 Nick Clifton <nickc@redhat.com> 2.27-15 * Tue Jan 31 2017 Nick Clifton <nickc@redhat.com> 2.27-15
@ -1018,7 +1094,7 @@ exit 0
- Fix compiling using gcc 4.9 (#1087374) - Fix compiling using gcc 4.9 (#1087374)
* Thu Mar 27 2014 Nick Clifton <nickc@redhat.com> - 2.24-11 * Thu Mar 27 2014 Nick Clifton <nickc@redhat.com> - 2.24-11
- Use %{version} in Source string. Delete unused patches. - Use {version} in Source string. Delete unused patches.
* Tue Jan 28 2014 Nick Clifton <nickc@redhat.com> - 2.24-10 * Tue Jan 28 2014 Nick Clifton <nickc@redhat.com> - 2.24-10
- Fix decoding of abbrevs using a DW_FORM_ref_addr attribute. (#1056797) - Fix decoding of abbrevs using a DW_FORM_ref_addr attribute. (#1056797)
@ -1233,10 +1309,8 @@ exit 0
* Fri Apr 27 2012 Nick Clifton <nickc@redhat.com> - 2.22.52.0.1-12 * Fri Apr 27 2012 Nick Clifton <nickc@redhat.com> - 2.22.52.0.1-12
- Include demangle.h in the devel rpm. - Include demangle.h in the devel rpm.
%if 0%{?rhel} >= 7
* Tue Apr 03 2012 Nick Clifton <nickc@redhat.com> - 2.22.52.0.1-11 * Tue Apr 03 2012 Nick Clifton <nickc@redhat.com> - 2.22.52.0.1-11
- Enable -zrelro by default for RHEL 7+. (#807831) - Enable -zrelro by default for RHEL 7+. (#807831)
%endif
* Fri Mar 16 2012 Jakub Jelinek <jakub@redhat.com> - 2.22.52.0.1-10 * Fri Mar 16 2012 Jakub Jelinek <jakub@redhat.com> - 2.22.52.0.1-10
- Fix up handling of hidden ifunc relocs on i?86 - Fix up handling of hidden ifunc relocs on i?86
@ -1248,10 +1322,8 @@ exit 0
- Fix up handling of hidden ifunc relocs on x86_64 - Fix up handling of hidden ifunc relocs on x86_64
- Add Intel TSX support - Add Intel TSX support
%if 0%{?fedora} >= 18
* Tue Mar 06 2012 Nick Clifton <nickc@redhat.com> - 2.22.52.0.1-7 * Tue Mar 06 2012 Nick Clifton <nickc@redhat.com> - 2.22.52.0.1-7
- Enable -zrelro by default. (#621983 #807831) - Enable -zrelro by default. (#621983 #807831)
%endif
* Mon Feb 27 2012 Jeff Law <law@redhat.com> - 2.22.52.0.1-6 * Mon Feb 27 2012 Jeff Law <law@redhat.com> - 2.22.52.0.1-6
- Fix c++filt docs (#797752) - Fix c++filt docs (#797752)