From 1ba745a89fecda6a0a341ec8a0ec8e53dfca4704 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Sun, 10 Sep 2017 09:18:23 +0100 Subject: [PATCH] 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 --- binutils-2.24-ldforcele.patch | 54 ------ binutils-2.25-set-long-long.patch | 38 ---- binutils-2.25.1-cleansweep.patch | 63 ------- binutils-2.26-fix-compile-warnings.patch | 38 ---- binutils-2.28-ignore-gold-duplicates.patch | 14 -- binutils.spec | 206 ++++++++++++++------- 6 files changed, 139 insertions(+), 274 deletions(-) delete mode 100644 binutils-2.24-ldforcele.patch delete mode 100644 binutils-2.25-set-long-long.patch delete mode 100644 binutils-2.25.1-cleansweep.patch delete mode 100644 binutils-2.26-fix-compile-warnings.patch delete mode 100644 binutils-2.28-ignore-gold-duplicates.patch diff --git a/binutils-2.24-ldforcele.patch b/binutils-2.24-ldforcele.patch deleted file mode 100644 index 194cf1e..0000000 --- a/binutils-2.24-ldforcele.patch +++ /dev/null @@ -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 diff --git a/binutils-2.25-set-long-long.patch b/binutils-2.25-set-long-long.patch deleted file mode 100644 index 1ea7418..0000000 --- a/binutils-2.25-set-long-long.patch +++ /dev/null @@ -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 diff --git a/binutils-2.25.1-cleansweep.patch b/binutils-2.25.1-cleansweep.patch deleted file mode 100644 index 2603d13..0000000 --- a/binutils-2.25.1-cleansweep.patch +++ /dev/null @@ -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 { diff --git a/binutils-2.26-fix-compile-warnings.patch b/binutils-2.26-fix-compile-warnings.patch deleted file mode 100644 index b3e792c..0000000 --- a/binutils-2.26-fix-compile-warnings.patch +++ /dev/null @@ -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 diff --git a/binutils-2.28-ignore-gold-duplicates.patch b/binutils-2.28-ignore-gold-duplicates.patch deleted file mode 100644 index 346f956..0000000 --- a/binutils-2.28-ignore-gold-duplicates.patch +++ /dev/null @@ -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; diff --git a/binutils.spec b/binutils.spec index 667be6e..2872b34 100644 --- a/binutils.spec +++ b/binutils.spec @@ -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. # --with=bootstrap: Build with minimal dependencies. # --with=debug: Build without optimizations and without splitting the debuginfo. # --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 1195883: But do not do this by default. %define enable_deterministic_archives 0 @@ -21,6 +16,8 @@ %define enable_lto 1 # Disable the default generation of compressed debug sections. %define default_compress_debug 0 +# Default to read-only-relocations (relro) in shared binaries. +%define default_relro 1 # Default: Not bootstrapping. %bcond_with bootstrap @@ -40,10 +37,24 @@ %undefine with_testsuite %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 Name: %{?cross}binutils%{?_with_debug:-debug} Version: 2.29 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3+ Group: Development/Tools 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 +# 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 + +# 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 -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 -# Enable -zrelro by default: BZ #621983 -Patch05: binutils-2.22.52.0.1-relro-on-by-default.patch -# Local patch - export demangle.h with the binutils-devel rpm. + +# Purpose: Exports the demangle.h header file (associated with the libiberty sources) with +# the binutils-devel rpm. +# Lifetime: Permanent. This is a RHEL/Fedora specific 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 -# Fix detections little endian PPC shared libraries -Patch08: binutils-2.24-ldforcele.patch -Patch09: binutils-2.25.1-cleansweep.patch -Patch10: binutils-2.26-fix-compile-warnings.patch -# Import H.J.Lu's Kernel LTO patch. + +# Purpose: Import H.J.Lu's Kernel LTO patch. +# Lifetime: Permanent, but needs continual updating. 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 -# 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 -# Ignore duplicate indirect symbols generated by GOLD. -Patch14: binutils-2.28-ignore-gold-duplicates.patch -# Do not enable the PPC64 plt-localentry0 linker optimization by default. + +# Purpose: 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 +#--------------------------------------------------------------------------------- + Provides: bundled(libiberty) # 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 %if %{with bootstrap} @@ -155,6 +194,8 @@ Requires(preun): %{_sbindir}/alternatives %define _gnu %{nil} %endif +#--------------------------------------------------------------------------------- + %description Binutils is a collection of binary utilities, including ar (for 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 converting addresses to file and line). +#--------------------------------------------------------------------------------- + %package devel Summary: BFD and opcodes static and dynamic libraries and header files Group: System Environment/Libraries @@ -195,24 +238,18 @@ dynamic libraries. Developers starting new projects are strongly encouraged to consider using libelf instead of BFD. +#--------------------------------------------------------------------------------- + %prep %setup -q -n binutils-%{version} -%patch01 -p1 -b .libtool-lib64~ -%patch02 -p1 -b .version~ -%patch03 -p1 -b .set-long-long~ -%patch04 -p1 -b .sec-merge-emit~ -%patch05 -p1 -b .relro~ -%patch06 -p1 -b .export-demangle-h~ -%patch07 -p1 -b .no-config-h-check~ -%ifarch ppc64le -%patch08 -p1 -b .ldforcele~ -%endif -%patch09 -p0 -%patch10 -p1 +%patch01 -p1 +%patch02 -p1 +%patch04 -p1 +%patch06 -p1 +%patch07 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 -%patch14 -p1 %patch15 -p1 # 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} %endif +#--------------------------------------------------------------------------------- + %build echo target is %{binutils_target} + %ifarch %{power64} -#CFLAGS=`echo $RPM_OPT_FLAGS | sed -e -s "s/-Werror//g"` -#export CFLAGS export CFLAGS="$RPM_OPT_FLAGS -Wno-error" %else export CFLAGS="$RPM_OPT_FLAGS" %endif + CARGS= 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 # binaries may be less convenient in the embedded environment. %configure \ + --quiet \ --build=%{_target_platform} --host=%{_target_platform} \ --target=%{binutils_target} \ %ifarch %gold_arches @@ -323,7 +363,7 @@ CFLAGS="$CFLAGS -O0 -ggdb2 -Wno-error -D_FORTIFY_SOURCE=0" %endif %if %{enable_deterministic_archives} --enable-deterministic-archives \ -%else +%else --enable-deterministic-archives=no \ %endif %if %{enable_lto} @@ -333,12 +373,17 @@ CFLAGS="$CFLAGS -O0 -ggdb2 -Wno-error -D_FORTIFY_SOURCE=0" --enable-compressed-debug-sections=all \ %else --enable-compressed-debug-sections=none \ +%endif +%if %{default_relro} + --enable-relro=yes \ +%else + --enable-relro=no \ %endif $CARGS \ --enable-plugins \ --with-bugurl=http://bugzilla.redhat.com/bugzilla/ -%if %{with docs} +%if %{with docs} make %{_smp_mflags} tooldir=%{_prefix} all make %{_smp_mflags} tooldir=%{_prefix} info %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} %endif +#--------------------------------------------------------------------------------- + %install rm -rf %{buildroot} -%if %{with docs} +%if %{with docs} make install DESTDIR=%{buildroot} %else make install DESTDIR=%{buildroot} MAKEINFO=true %endif %if %{isnative} -%if %{with info} +%if %{with docs} make prefix=%{buildroot}%{_prefix} infodir=%{buildroot}%{_infodir} install-info %endif @@ -400,7 +447,7 @@ rm -f %{buildroot}%{_mandir}/man1/{dlltool,nlmconv,windres,windmc}* %if %{enable_shared} chmod +x %{buildroot}%{_libdir}/lib*.so* -%endif +%endif # isnative # Prevent programs from linking against libbfd and libopcodes # dynamically, as they are change far too often. @@ -453,14 +500,14 @@ $OUTPUT_FORMAT INPUT ( %{_libdir}/libopcodes.a -lbfd ) EOH -%else # !%{isnative} +%else # !isnative # For cross-binutils we drop the documentation. rm -rf %{buildroot}%{_infodir} # We keep these as one can have native + cross binutils of different versions. -#rm -rf %{buildroot}%{_prefix}/share/locale -#rm -rf %{buildroot}%{_mandir} +#rm -rf {buildroot}{_prefix}/share/locale +#rm -rf {buildroot}{_mandir} rm -rf %{buildroot}%{_libdir}/libiberty.a -%endif # !%{isnative} +%endif # !isnative # This one comes from gcc rm -f %{buildroot}%{_infodir}/dir @@ -485,9 +532,13 @@ if [ -x gold/ld-new ]; then cat %{?cross}gold.lang >> %{?cross}binutils.lang fi +#--------------------------------------------------------------------------------- + %clean rm -rf %{buildroot} +#--------------------------------------------------------------------------------- + %post %if "%{build_gold}" == "both" %__rm -f %{_bindir}/%{?cross}ld @@ -495,8 +546,9 @@ rm -rf %{buildroot} %{_bindir}/%{?cross}ld.bfd %{ld_bfd_priority} %{_sbindir}/alternatives --install %{_bindir}/%{?cross}ld %{?cross}ld \ %{_bindir}/%{?cross}ld.gold %{ld_gold_priority} -%{_sbindir}/alternatives --auto %{?cross}ld -%endif +%{_sbindir}/alternatives --auto %{?cross}ld +%endif # both ld.gold and ld.bfd + %if %{isnative} /sbin/ldconfig %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}/ld.info.gz %endif # with docs -%endif # %{isnative} +%endif # isnative + exit 0 +#--------------------------------------------------------------------------------- + %preun %if "%{build_gold}" == "both" if [ $1 = 0 ]; then %{_sbindir}/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.bfd %{_sbindir}/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.gold fi -%endif +%endif # both ld.gold and ld.bfd + %if %{isnative} if [ $1 = 0 ]; then 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 fi fi -%endif +%endif # isnative + exit 0 +#--------------------------------------------------------------------------------- + %if %{isnative} %postun /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}/ld.info.gz fi -%endif # %{isnative} +%endif # isnative + +#--------------------------------------------------------------------------------- %files -f %{?cross}binutils.lang %defattr(-,root,root,-) %license COPYING COPYING3 COPYING3.LIB COPYING.LIB %doc README %{_bindir}/%{?cross}[!l]* + %if "%{build_gold}" == "both" %{_bindir}/%{?cross}ld.* %ghost %{_bindir}/%{?cross}ld %else %{_bindir}/%{?cross}ld* -%endif +%endif # both ld.gold and ld.bfd + +%if %{with docs} %{_mandir}/man1/* %{_infodir}/as.info.gz %{_infodir}/binutils.info.gz %{_infodir}/gprof.info.gz %{_infodir}/ld.info.gz +%endif # with docs + %if %{enable_shared} %{_libdir}/lib*.so %exclude %{_libdir}/libbfd.so %exclude %{_libdir}/libopcodes.so -%endif +%endif # enable_shared %if %{isnative} %if %{with docs} @@ -577,9 +643,19 @@ exit 0 %if %{with docs} %{_infodir}/bfd*info* %endif # with docs -%endif # %{isnative} +%endif # isnative + +#--------------------------------------------------------------------------------- %changelog +* Sun Sep 10 2017 Nick Clifton - 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 - 2.29-6 - 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 * Thu Feb 02 2017 Stephen Gallagher 2.27-16 -- Install COPYING[*] files using the %license macro. +- Install COPYING[*] files using the % license macro. (#1418430) * Tue Jan 31 2017 Nick Clifton 2.27-15 @@ -1018,7 +1094,7 @@ exit 0 - Fix compiling using gcc 4.9 (#1087374) * Thu Mar 27 2014 Nick Clifton - 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 - 2.24-10 - Fix decoding of abbrevs using a DW_FORM_ref_addr attribute. (#1056797) @@ -1233,10 +1309,8 @@ exit 0 * Fri Apr 27 2012 Nick Clifton - 2.22.52.0.1-12 - Include demangle.h in the devel rpm. -%if 0%{?rhel} >= 7 * Tue Apr 03 2012 Nick Clifton - 2.22.52.0.1-11 - Enable -zrelro by default for RHEL 7+. (#807831) -%endif * Fri Mar 16 2012 Jakub Jelinek - 2.22.52.0.1-10 - 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 - Add Intel TSX support -%if 0%{?fedora} >= 18 * Tue Mar 06 2012 Nick Clifton - 2.22.52.0.1-7 - Enable -zrelro by default. (#621983 #807831) -%endif * Mon Feb 27 2012 Jeff Law - 2.22.52.0.1-6 - Fix c++filt docs (#797752)