diff --git a/binutils-2.26-lto.patch b/binutils-2.26-lto.patch index 4756e85..230a5f2 100644 --- a/binutils-2.26-lto.patch +++ b/binutils-2.26-lto.patch @@ -572,8 +572,8 @@ diff -rup binutils-2.26.orig/ld/emultempl/avrelf.em binutils-2.26/ld/emultempl/a --- binutils-2.26.orig/ld/emultempl/avrelf.em 2016-02-19 09:35:36.698003274 +0000 +++ binutils-2.26/ld/emultempl/avrelf.em 2016-02-19 09:35:54.915106577 +0000 @@ -209,7 +209,7 @@ avr_finish (void) - else - elf_elfheader (abfd)->e_flags &= ~EF_AVR_LINKRELAX_PREPARED; + elf_elfheader (abfd)->e_flags &= ~EF_AVR_LINKRELAX_PREPARED; + } - finish_default (); + gld${EMULATION_NAME}_finish (); @@ -592,7 +592,7 @@ diff -rup binutils-2.26.orig/ld/emultempl/elf32.em binutils-2.26/ld/emultempl/el if [ "x${USE_LIBPATH}" = xyes ] ; then @@ -1795,6 +1796,8 @@ output_rel_find (asection *sec, int isdy - return last; + in->owner, in); } +static int orphan_init_done = 0; diff --git a/binutils-2.29-non-elf-orphan-skip.patch b/binutils-2.29-non-elf-orphan-skip.patch deleted file mode 100644 index 154d385..0000000 --- a/binutils-2.29-non-elf-orphan-skip.patch +++ /dev/null @@ -1,147 +0,0 @@ ---- binutils.orig/ld/emultempl/elf32.em 2017-09-14 15:35:45.971100712 +0100 -+++ binutils-2.29/ld/emultempl/elf32.em 2017-09-14 15:40:30.315782167 +0100 -@@ -2011,6 +2011,29 @@ output_rel_find (asection *sec, int isdy - - static int orphan_init_done = 0; - -+/* Return whether IN is suitable to be part of OUT. */ -+ -+static bfd_boolean -+elf_orphan_compatible (asection *in, asection *out) -+{ -+ /* Non-zero sh_info implies a section with SHF_INFO_LINK with -+ unknown semantics for the generic linker, or a SHT_REL/SHT_RELA -+ section where sh_info specifies a symbol table. (We won't see -+ SHT_GROUP, SHT_SYMTAB or SHT_DYNSYM sections here.) We clearly -+ can't merge SHT_REL/SHT_RELA using differing symbol tables, and -+ shouldn't merge sections with differing unknown semantics. */ -+ if (elf_section_data (out)->this_hdr.sh_info -+ != elf_section_data (in)->this_hdr.sh_info) -+ return FALSE; -+ /* We can't merge two sections with differing SHF_EXCLUDE when doing -+ a relocatable link. */ -+ if (bfd_link_relocatable (&link_info) -+ && ((elf_section_flags (out) ^ elf_section_flags (in)) & SHF_EXCLUDE) != 0) -+ return FALSE; -+ return _bfd_elf_match_sections_by_type (link_info.output_bfd, out, -+ in->owner, in); -+} -+ - /* Place an orphan section. We use this to put random SHF_ALLOC - sections in the right segment. */ - -@@ -2067,8 +2090,9 @@ gld${EMULATION_NAME}_place_orphan (asect - lang_output_section_statement_type *os; - lang_output_section_statement_type *match_by_name = NULL; - int isdyn = 0; -- int iself = s->owner->xvec->flavour == bfd_target_elf_flavour; -- unsigned int sh_type = iself ? elf_section_type (s) : SHT_NULL; -+ int elfinput = s->owner->xvec->flavour == bfd_target_elf_flavour; -+ int elfoutput = link_info.output_bfd->xvec->flavour == bfd_target_elf_flavour; -+ unsigned int sh_type = elfinput ? elf_section_type (s) : SHT_NULL; - flagword flags; - asection *nexts; - -@@ -2076,7 +2100,7 @@ gld${EMULATION_NAME}_place_orphan (asect - && link_info.combreloc - && (s->flags & SEC_ALLOC)) - { -- if (iself) -+ if (elfinput) - switch (sh_type) - { - case SHT_RELA: -@@ -2098,6 +2122,8 @@ gld${EMULATION_NAME}_place_orphan (asect - } - - if (!bfd_link_relocatable (&link_info) -+ && elfinput -+ && elfoutput - && (s->flags & SEC_ALLOC) != 0 - && (elf_section_flags (s) & SHF_GNU_MBIND) != 0) - { -@@ -2148,23 +2174,18 @@ gld${EMULATION_NAME}_place_orphan (asect - lang_insert_orphan to create a new output section. */ - constraint = SPECIAL; - -- /* SEC_EXCLUDE is cleared when doing a relocatable link. But -- we can't merge 2 input sections with the same name when only -- one of them has SHF_EXCLUDE. Don't merge 2 sections with -- different sh_info. */ -+ /* Check to see if we already have an output section statement -+ with this name, and its bfd section has compatible flags. -+ If the section already exists but does not have any flags -+ set, then it has been created by the linker, possibly as a -+ result of a --section-start command line switch. */ - if (os->bfd_section != NULL -- && (elf_section_data (os->bfd_section)->this_hdr.sh_info -- == elf_section_data (s)->this_hdr.sh_info) - && (os->bfd_section->flags == 0 -- || ((!bfd_link_relocatable (&link_info) -- || (iself && (((elf_section_flags (s) -- ^ elf_section_flags (os->bfd_section)) -- & SHF_EXCLUDE) == 0))) -- && ((s->flags ^ os->bfd_section->flags) -+ || (((s->flags ^ os->bfd_section->flags) - & (SEC_LOAD | SEC_ALLOC)) == 0 -- && _bfd_elf_match_sections_by_type (link_info.output_bfd, -- os->bfd_section, -- s->owner, s)))) -+ && (!elfinput -+ || !elfoutput -+ || elf_orphan_compatible (s, os->bfd_section))))) - { - /* We already have an output section statement with this - name, and its bfd section has compatible flags. -@@ -2253,8 +2274,8 @@ gld${EMULATION_NAME}_place_orphan (asect - else if ((flags & SEC_ALLOC) == 0) - ; - else if ((flags & SEC_LOAD) != 0 -- && ((iself && sh_type == SHT_NOTE) -- || (!iself && CONST_STRNEQ (secname, ".note")))) -+ && ((elfinput && sh_type == SHT_NOTE) -+ || (!elfinput && CONST_STRNEQ (secname, ".note")))) - place = &hold[orphan_interp]; - else if ((flags & (SEC_LOAD | SEC_HAS_CONTENTS | SEC_THREAD_LOCAL)) == 0) - place = &hold[orphan_bss]; -@@ -2264,8 +2285,8 @@ gld${EMULATION_NAME}_place_orphan (asect - place = &hold[orphan_tdata]; - else if ((flags & SEC_READONLY) == 0) - place = &hold[orphan_data]; -- else if (((iself && (sh_type == SHT_RELA || sh_type == SHT_REL)) -- || (!iself && CONST_STRNEQ (secname, ".rel"))) -+ else if (((elfinput && (sh_type == SHT_RELA || sh_type == SHT_REL)) -+ || (!elfinput && CONST_STRNEQ (secname, ".rel"))) - && (flags & SEC_LOAD) != 0) - place = &hold[orphan_rel]; - else if ((flags & SEC_CODE) == 0) -diff -rup binutils.orig/bfd/elf32-i386.c binutils-2.29/bfd/elf32-i386.c ---- binutils.orig/bfd/elf32-i386.c 2017-09-15 10:27:16.828950825 +0100 -+++ binutils-2.29/bfd/elf32-i386.c 2017-09-15 10:27:38.962692771 +0100 -@@ -6921,8 +6921,9 @@ elf_i386_link_setup_gnu_properties (stru - for (abfd = info->input_bfds; - abfd != NULL; - abfd = abfd->link.next) -- if ((abfd->flags -- & (DYNAMIC | BFD_LINKER_CREATED | BFD_PLUGIN)) == 0) -+ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour -+ && (abfd->flags -+ & (DYNAMIC | BFD_LINKER_CREATED | BFD_PLUGIN)) == 0) - { - htab->elf.dynobj = abfd; - dynobj = abfd; -diff -rup binutils.orig/bfd/elf64-x86-64.c binutils-2.29/bfd/elf64-x86-64.c ---- binutils.orig/bfd/elf64-x86-64.c 2017-09-15 10:27:16.820950918 +0100 -+++ binutils-2.29/bfd/elf64-x86-64.c 2017-09-15 10:28:02.621416935 +0100 -@@ -7466,8 +7466,9 @@ error_alignment: - for (abfd = info->input_bfds; - abfd != NULL; - abfd = abfd->link.next) -- if ((abfd->flags -- & (DYNAMIC | BFD_LINKER_CREATED | BFD_PLUGIN)) == 0) -+ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour -+ && (abfd->flags -+ & (DYNAMIC | BFD_LINKER_CREATED | BFD_PLUGIN)) == 0) - { - htab->elf.dynobj = abfd; - dynobj = abfd; diff --git a/binutils-2.29-ppc64-plt-localentry0-disable.patch b/binutils-2.29-ppc64-plt-localentry0-disable.patch deleted file mode 100644 index 789d19a..0000000 --- a/binutils-2.29-ppc64-plt-localentry0-disable.patch +++ /dev/null @@ -1,116 +0,0 @@ -diff -rup binutils.orig/bfd/elf64-ppc.c binutils-2.29/bfd/elf64-ppc.c ---- binutils.orig/bfd/elf64-ppc.c 2017-07-31 10:48:13.642980052 +0100 -+++ binutils-2.29/bfd/elf64-ppc.c 2017-07-31 10:48:37.386711582 +0100 -@@ -4010,6 +4010,10 @@ struct ppc_link_hash_entry - with non-standard calling convention. */ - unsigned int save_res:1; - -+ /* Set if a duplicate symbol with non-zero localentry is detected, -+ even when the duplicate symbol does not provide a definition. */ -+ unsigned int non_zero_localentry:1; -+ - /* Contexts in which symbol is used in the GOT (or TOC). - TLS_GD .. TLS_EXPLICIT bits are or'd into the mask as the - corresponding relocs are encountered during check_relocs. -@@ -5018,7 +5022,7 @@ ppc64_elf_merge_symbol_attribute (struct - - static bfd_boolean - ppc64_elf_merge_symbol (struct elf_link_hash_entry *h, -- const Elf_Internal_Sym *isym ATTRIBUTE_UNUSED, -+ const Elf_Internal_Sym *isym, - asection **psec ATTRIBUTE_UNUSED, - bfd_boolean newdef ATTRIBUTE_UNUSED, - bfd_boolean olddef ATTRIBUTE_UNUSED, -@@ -5026,6 +5030,8 @@ ppc64_elf_merge_symbol (struct elf_link_ - const asection *oldsec ATTRIBUTE_UNUSED) - { - ((struct ppc_link_hash_entry *) h)->fake = 0; -+ if ((STO_PPC64_LOCAL_MASK & isym->st_other) != 0) -+ ((struct ppc_link_hash_entry *) h)->non_zero_localentry = 1; - return TRUE; - } - -@@ -6332,6 +6338,7 @@ is_elfv2_localentry0 (struct elf_link_ha - && h->type == STT_FUNC - && h->root.type == bfd_link_hash_defined - && (STO_PPC64_LOCAL_MASK & h->other) == 0 -+ && !((struct ppc_link_hash_entry *) h)->non_zero_localentry - && is_ppc64_elf (h->root.u.def.section->owner) - && abiversion (h->root.u.def.section->owner) >= 2); - } -@@ -8346,10 +8353,28 @@ ppc64_elf_tls_setup (struct bfd_link_inf - else if (!htab->do_multi_toc) - htab->params->no_multi_toc = 1; - -+ /* Default to --no-plt-localentry, as this option can cause problems -+ with symbol interposition. For example, glibc libpthread.so and -+ libc.so duplicate many pthread symbols, with a fallback -+ implementation in libc.so. In some cases the fallback does more -+ work than the pthread implementation. __pthread_condattr_destroy -+ is one such symbol: the libpthread.so implementation is -+ localentry:0 while the libc.so implementation is localentry:8. -+ An app that "cleverly" uses dlopen to only load necessary -+ libraries at runtime may omit loading libpthread.so when not -+ running multi-threaded, which then results in the libc.so -+ fallback symbols being used and ld.so complaining. Now there -+ are workarounds in ld (see non_zero_localentry) to detect the -+ pthread situation, but that may not be the only case where -+ --plt-localentry can cause trouble. */ - if (htab->params->plt_localentry0 < 0) -- htab->params->plt_localentry0 -- = elf_link_hash_lookup (&htab->elf, "GLIBC_2.26", -- FALSE, FALSE, FALSE) != NULL; -+ htab->params->plt_localentry0 = 0; -+ if (htab->params->plt_localentry0 -+ && elf_link_hash_lookup (&htab->elf, "GLIBC_2.26", -+ FALSE, FALSE, FALSE) == NULL) -+ info->callbacks->einfo -+ (_("%P: warning: --plt-localentry is especially dangerous without " -+ "ld.so support to detect ABI violations.\n")); - - htab->tls_get_addr = ((struct ppc_link_hash_entry *) - elf_link_hash_lookup (&htab->elf, ".__tls_get_addr", -diff -rup binutils.orig/gold/powerpc.cc binutils-2.29/gold/powerpc.cc ---- binutils.orig/gold/powerpc.cc 2017-07-31 10:48:13.621980289 +0100 -+++ binutils-2.29/gold/powerpc.cc 2017-07-31 10:48:37.387711571 +0100 -@@ -7660,8 +7660,10 @@ Target_powerpc::scan_r - { - if (parameters->options().user_set_plt_localentry()) - plt_localentry0 = parameters->options().plt_localentry(); -- else -- plt_localentry0 = symtab->lookup("GLIBC_2.26", NULL) != NULL; -+ if (plt_localentry0 -+ && symtab->lookup("GLIBC_2.26", NULL) == NULL) -+ gold_warning(_("--plt-localentry is especially dangerous without " -+ "ld.so support to detect ABI violations")); - } - this->plt_localentry0_ = plt_localentry0; - this->plt_localentry0_init_ = true; -diff -rup binutils.orig/ld/ld.texinfo binutils-2.29/ld/ld.texinfo ---- binutils.orig/ld/ld.texinfo 2017-07-31 10:48:13.601980515 +0100 -+++ binutils-2.29/ld/ld.texinfo 2017-07-31 10:48:37.388711559 +0100 -@@ -7600,6 +7600,24 @@ barrier in the call stub, or use LD_BIND - looks for calls to commonly used functions that create threads, and if - seen, adds the necessary barriers. Use these options to change the - default behaviour. -+ -+@cindex PowerPC64 ELFv2 PLT localentry optimization -+@kindex --plt-localentry -+@kindex --no-plt-localentry -+@item --plt-localentry -+@itemx --no-localentry -+ELFv2 functions with localentry:0 are those with a single entry point, -+ie. global entry == local entry, and that have no requirement on r2 -+(the TOC/GOT pointer) or r12, and guarantee r2 is unchanged on return. -+Such an external function can be called via the PLT without saving r2 -+or restoring it on return, avoiding a common load-hit-store for small -+functions. The optimization is attractive, with up to 40% reduction -+in execution time for a small function, but can result in symbol -+interposition failures. Also, minor changes in a shared library, -+including system libraries, can cause a function that was localentry:0 -+to become localentry:8. This will result in a dynamic loader -+complaint and failure to run. The option is experimental, use with -+care. @option{--no-plt-localentry} is the default. - @end table - - @ifclear GENERIC diff --git a/binutils-2.29.1.tar.xz b/binutils-2.29.1.tar.xz new file mode 100644 index 0000000..71da3d4 Binary files /dev/null and b/binutils-2.29.1.tar.xz differ diff --git a/binutils.spec b/binutils.spec index e43e636..4f43fd9 100644 --- a/binutils.spec +++ b/binutils.spec @@ -7,7 +7,7 @@ # --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----------------------------------------------------------------------- +#---Start of Configure Options----------------------------------------------- # BZ 1124342: Provide a way to enable deterministic archives. # BZ 1195883: But do not do this by default. @@ -37,7 +37,7 @@ %undefine with_testsuite %endif -#----End of Configure Options----------------------------------------------------------------------- +#----End of Configure Options------------------------------------------------ %if 0%{!?binutils_target:1} %define binutils_target %{_target_platform} @@ -49,12 +49,12 @@ %define enable_shared 0 %endif -#--------------------------------------------------------------------------------- +#---------------------------------------------------------------------------- Summary: A GNU collection of binary utilities Name: %{?cross}binutils%{?_with_debug:-debug} -Version: 2.29 -Release: 9%{?dist} +Version: 2.29.1 +Release: 1%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils @@ -67,65 +67,62 @@ 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. +# 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). +# 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. +# 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 -# Purpose: Prevent a seg-fault when attempting to pad a section with a NULL padding pointer. +# 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 +# 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 +Patch03: binutils-2.20.51.0.10-sec-merge-emit.patch -# Purpose: Exports the demangle.h header file (associated with the libiberty sources) 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 - -# 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 +Patch04: binutils-2.22.52.0.1-export-demangle.h.patch + +# 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 +# the 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. +Patch05: binutils-2.22.52.0.4-no-config-h-check.patch # Purpose: Import H.J.Lu's Kernel LTO patch. # Lifetime: Permanent, but needs continual updating. -# FIXME: Try removing.... -Patch11: binutils-2.26-lto.patch +# FIXME: Try removing.... +Patch06: binutils-2.26-lto.patch # 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 +# FIXME: This patch should be contributed upstream. +Patch07: binutils-2.29-skip-rp14918-test-for-arm.patch # 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 +# 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. +Patch08: binutils-2.29-filename-in-error-messages.patch -# 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 - -# Purpose: Prevent a seg-fault in the linker by not attempting to place orphan ELF -# sections into a non-ELF output section. -# Lifetime: Fixed in 2.29.1. -Patch16: binutils-2.29-non-elf-orphan-skip.patch - -#--------------------------------------------------------------------------------- +#---------------------------------------------------------------------------- Provides: bundled(libiberty) @@ -200,7 +197,7 @@ Requires(preun): %{_sbindir}/alternatives %define _gnu %{nil} %endif -#--------------------------------------------------------------------------------- +#---------------------------------------------------------------------------- %description Binutils is a collection of binary utilities, including ar (for @@ -215,7 +212,7 @@ 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 @@ -244,20 +241,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 %patch02 -p1 +%patch03 -p1 %patch04 -p1 -%patch06 -p1 -%patch07 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch15 -p1 -%patch16 -p1 +%patch05 -p1 +%patch06 -p1 +%patch07 -p1 +%patch08 -p1 # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -295,7 +290,7 @@ touch */configure %define _target_platform %{_arch}-%{_vendor}-%{_host_os} %endif -#--------------------------------------------------------------------------------- +#---------------------------------------------------------------------------- %build echo target is %{binutils_target} @@ -415,7 +410,7 @@ 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} @@ -539,12 +534,12 @@ if [ -x gold/ld-new ]; then cat %{?cross}gold.lang >> %{?cross}binutils.lang fi -#--------------------------------------------------------------------------------- +#---------------------------------------------------------------------------- %clean rm -rf %{buildroot} -#--------------------------------------------------------------------------------- +#---------------------------------------------------------------------------- %post %if "%{build_gold}" == "both" @@ -568,7 +563,7 @@ rm -rf %{buildroot} exit 0 -#--------------------------------------------------------------------------------- +#---------------------------------------------------------------------------- %preun %if "%{build_gold}" == "both" @@ -592,7 +587,7 @@ fi exit 0 -#--------------------------------------------------------------------------------- +#---------------------------------------------------------------------------- %if %{isnative} %postun @@ -606,7 +601,7 @@ exit 0 fi %endif # isnative -#--------------------------------------------------------------------------------- +#---------------------------------------------------------------------------- %files -f %{?cross}binutils.lang %defattr(-,root,root,-) @@ -636,10 +631,11 @@ exit 0 %endif # enable_shared %if %{isnative} + %if %{with docs} %{_infodir}/[^b]*info* %{_infodir}/binutils*info* -%endif +%endif # with docs %files devel %defattr(-,root,root,-) @@ -647,14 +643,20 @@ exit 0 %{_libdir}/lib*.a %{_libdir}/libbfd.so %{_libdir}/libopcodes.so + %if %{with docs} %{_infodir}/bfd*info* %endif # with docs -%endif # isnative -#--------------------------------------------------------------------------------- +%endif # isnative +#---------------------------------------------------------------------------- %changelog +* Tue Sep 26 2017 Nick Clifton 2.29.1-1 +- Rebase on FSF binutils 2.29.1 release. +- Retire: binutils-2.29-ppc64-plt-localentry0-disable.patch +- Retire: binutils-2.29-non-elf-orphan-skip.patch + * Thu Sep 14 2017 Nick Clifton 2.29-10 - Extend fix for PR 21884. (#1491023)