![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package binutils for openSUSE:Factory checked in at 2017-04-25 08:54:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/binutils (Old) and /work/SRC/openSUSE:Factory/.binutils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "binutils" Tue Apr 25 08:54:20 2017 rev:117 rq:485830 version:2.28 Changes: -------- --- /work/SRC/openSUSE:Factory/binutils/binutils.changes 2017-03-21 22:46:02.996464147 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/binutils.changes 2017-04-25 08:54:22.239478036 +0200 @@ -1,0 +2,21 @@ +Wed Apr 5 11:55:17 UTC 2017 - afaerber@suse.de + +- Add riscv64 target, tested with gcc7 and downstream newlib 2.4.0 +* Prepare riscv32 target (gh#riscv/riscv-newlib#8) + +------------------------------------------------------------------- +Fri Mar 31 10:30:08 UTC 2017 - rguenther@suse.com + +- Update binutils-2.28-branch.diff. +- Make compressed debug section handling explicit, disable for + old products and enable for gas on all architectures otherwise. +- Add binutils-bso21333.diff. [boo#1029995] + +------------------------------------------------------------------- +Thu Mar 30 11:16:18 UTC 2017 - rguenther@suse.com + +- Remove empty rpath component removal optimization from + binutils-skip-rpaths.patch to workaround CMake rpath handling. + [boo#1025282] + +------------------------------------------------------------------- cross-aarch64-binutils.changes: same change cross-arm-binutils.changes: same change cross-avr-binutils.changes: same change cross-epiphany-binutils.changes: same change cross-hppa-binutils.changes: same change cross-hppa64-binutils.changes: same change cross-i386-binutils.changes: same change cross-ia64-binutils.changes: same change cross-m68k-binutils.changes: same change cross-mips-binutils.changes: same change cross-ppc-binutils.changes: same change cross-ppc64-binutils.changes: same change cross-ppc64le-binutils.changes: same change New Changes file: --- /dev/null 2017-03-01 00:40:19.279048016 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/cross-riscv64-binutils.changes 2017-04-25 08:54:23.447307245 +0200 @@ -0,0 +1,3043 @@ +------------------------------------------------------------------- +Wed Apr 5 11:55:17 UTC 2017 - afaerber@suse.de + +- Add riscv64 target, tested with gcc7 and downstream newlib 2.4.0 +* Prepare riscv32 target (gh#riscv/riscv-newlib#8) + +------------------------------------------------------------------- +Fri Mar 31 10:30:08 UTC 2017 - rguenther@suse.com + +- Update binutils-2.28-branch.diff. +- Make compressed debug section handling explicit, disable for + old products and enable for gas on all architectures otherwise. +- Add binutils-bso21333.diff. [boo#1029995] + +------------------------------------------------------------------- +Thu Mar 30 11:16:18 UTC 2017 - rguenther@suse.com + +- Remove empty rpath component removal optimization from + binutils-skip-rpaths.patch to workaround CMake rpath handling. + [boo#1025282] + +------------------------------------------------------------------- +Fri Mar 17 15:28:26 UTC 2017 - matz@suse.com + +- Add fix-security-bugs.diff to fix bnc#1029907, bnc#1029908, + bnc#1029909 and more. Upstream bugs fixed: + PR 21135, PR 21137, PR 21139, PR 21147, PR 21148, PR 21149, + PR 21150, PR 21151, PR 21155, PR 21156, PR 21157, PR 21158, + PR 21159 + +------------------------------------------------------------------- +Wed Mar 8 11:25:04 UTC 2017 - rguenther@suse.com + +- Update to binutils 2.28. + * Add support for locating separate debug info files using the build-id + method, where the separate file has a name based upon the build-id of + the original file. + * This version of binutils fixes a problem with PowerPC VLE 16A and 16D + relocations which were functionally swapped, for example, + R_PPC_VLE_HA16A performed like R_PPC_VLE_HA16D while R_PPC_VLE_HA16D + performed like R_PPC_VLE_HA16A. This could have been fixed by + renumbering relocations, which would keep object files created by an + older version of gas compatible with a newer ld. However, that would + require an ABI update, affecting other assemblers and linkers that + create and process the relocations correctly. It is recommended that + all VLE object files be recompiled, but ld can modify the relocations + if --vle-reloc-fixup is passed to ld. If the new ld command line + option is not used, ld will ld warn on finding relocations inconsistent + with the instructions being relocated. + * The nm program has a new command line option (--with-version-strings) + which will display a symbol's version information, if any, after the + symbol's name. + * The ARC port of objdump now accepts a -M option to specify the extra + instruction class(es) that should be disassembled. + * The --remove-section option for objcopy and strip now accepts section + patterns starting with an exclamation point to indicate a non-matching + section. A non-matching section is removed from the set of sections + matched by an earlier --remove-section pattern. + * The --only-section option for objcopy now accepts section patterns + starting with an exclamation point to indicate a non-matching section. + A non-matching section is removed from the set of sections matched by + an earlier --only-section pattern. + * New --remove-relocations=SECTIONPATTERN option for objcopy and strip. + This option can be used to remove sections containing relocations. + The SECTIONPATTERN is the section to which the relocations apply, not + the relocation section itself. + GAS + * Add support for the RISC-V architecture. + * Add support for the ARM Cortex-M23 and Cortex-M33 processors. + GNU ld + * The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections + in the list. + * Add support for the RISC-V architecture. + * The command line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + * Add --in-implib=<infile> to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library + specified by --out-implib=<outfile> and the address they must have. + As such, --in-implib is only supported in combination with --cmse-implib. + * Extended the --out-implib=<file> option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + GOLD + * Add -z bndplt option (x86-64 only) to support Intel MPX. + * Add --orphan-handling option. + * Add --stub-group-multi option (PowerPC only). + * Add --target1-rel, --target1-abs, --target2 options (Arm only). + * Add -z stack-size option. + * Add --be8 option (Arm only). + * Add HIDDEN support in linker scripts. + * Add SORT_BY_INIT_PRIORITY support in linker scripts. +- Add binutils-2.28-branch.diff. +- Remove binutils-2.27-branch.diff +- Remove binutils-2.27-fix-section-order.diff, + refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + and aarch64-alignment-frags.patch now upstream. + +------------------------------------------------------------------- +Mon Mar 6 17:06:55 UTC 2017 - schwab@linux-m68k.org + +- Configure with --with-system-zlib + +------------------------------------------------------------------- +Fri Feb 24 10:38:24 UTC 2017 - rguenther@suse.com + +- Add binutils-bso21193.diff to fix section alignment on + .gnu_debuglink. [bso#21193] + +------------------------------------------------------------------- +Tue Feb 7 11:42:02 UTC 2017 - rguenther@suse.com + +- Add s390x to gold_archs. + +------------------------------------------------------------------- +Mon Feb 6 15:25:44 UTC 2017 - afaerber@suse.de + +- Fix alignment frags for aarch64 (boo#1003846) + aarch64-alignment-frags.patch + +------------------------------------------------------------------- +Sun Dec 18 18:36:08 UTC 2016 - jengelh@inai.de + +- Call ldconfig for libbfd + +------------------------------------------------------------------- +Tue Nov 30 09:55:02 UTC 2016 - idonmez@suse.com + +- Add refine_.cfi_sections_check_to_only_consider_compact_eh_frame.patch + from upstream to fix an assembler problem with clang on ARM. + Fixes https://sourceware.org/bugzilla/show_bug.cgi?id=20648 + +------------------------------------------------------------------- +Mon Nov 28 13:16:47 UTC 2016 - rguenther@suse.com + +- Update binutils-2.27-branch.diff to include recent fixes from the branch. +- Add binutils-2.27-fix-section-order.diff to restore monotonically + increasing section offsets. + +------------------------------------------------------------------- +Tue Oct 4 16:58:56 UTC 2016 - stefan.bruens@rwth-aachen.de + +- Remove qemu workaround from spec file, since qemu 2.5.0rc0 the + length of the argument list is no longer limited to 128 kByte. + +------------------------------------------------------------------- +Wed Aug 24 11:26:22 UTC 2016 - rguenther@suse.com + +- Update to binutils 2.27. + * Add a configure option, --enable-64-bit-archive, to force use of a + 64-bit format when creating an archive symbol index. + * Add --elf-stt-common= option to objcopy for ELF targets to control + whether to convert common symbols to the STT_COMMON type. + GAS: + * Default to --enable-compressed-debug-sections=gas for Linux/x86 targets. + * Add --no-pad-sections to stop the assembler from padding the end of output + sections up to their alignment boundary. + * Support for the ARMv8-M architecture has been added to the ARM port. + Support for the ARMv8-M Security and DSP Extensions has also been added + to the ARM port. + * ARC backend accepts .extInstruction, .extCondCode, .extAuxRegister, and + .extCoreRegister pseudo-ops that allow an user to define custom + instructions, conditional codes, auxiliary and core registers. + * Add a configure option --enable-elf-stt-common to decide whether ELF + assembler should generate common symbols with the STT_COMMON type by + default. Default to no. + * New command line option --elf-stt-common= for ELF targets to control + whether to generate common symbols with the STT_COMMON type. + * Add ability to set section flags and types via numeric values for ELF + based targets. + * Add a configure option --enable-x86-relax-relocations to decide whether + x86 assembler should generate relax relocations by default. Default to + yes, except for x86 Solaris targets older than Solaris 12. + * New command line option -mrelax-relocations= for x86 target to control + whether to generate relax relocations. + * New command line option -mfence-as-lock-add=yes for x86 target to encode + lfence, mfence and sfence as "lock addl $0x0, (%[re]sp)". + * Add assembly-time relaxation option for ARC cpus. + * Add --with-cpu=TYPE configure option for ARC gas. This allows the default + cpu type to be adjusted at configure time. + GOLD: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled by default. Default to yes. + * Add support for s390, MIPS, AArch64, and TILE-Gx architectures. + * Add support for STT_GNU_IFUNC symbols. + * Add support for incremental linking (--incremental). + GNU ld: + * Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. + * Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + * Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + * Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. ++++ 2846 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Factory/.binutils.new/cross-riscv64-binutils.changes --- /work/SRC/openSUSE:Factory/binutils/cross-rx-binutils.changes 2017-03-21 22:46:03.760356151 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/cross-rx-binutils.changes 2017-04-25 08:54:23.483302155 +0200 @@ -1,0 +2,21 @@ +Wed Apr 5 11:55:17 UTC 2017 - afaerber@suse.de + +- Add riscv64 target, tested with gcc7 and downstream newlib 2.4.0 +* Prepare riscv32 target (gh#riscv/riscv-newlib#8) + +------------------------------------------------------------------- +Fri Mar 31 10:30:08 UTC 2017 - rguenther@suse.com + +- Update binutils-2.28-branch.diff. +- Make compressed debug section handling explicit, disable for + old products and enable for gas on all architectures otherwise. +- Add binutils-bso21333.diff. [boo#1029995] + +------------------------------------------------------------------- +Thu Mar 30 11:16:18 UTC 2017 - rguenther@suse.com + +- Remove empty rpath component removal optimization from + binutils-skip-rpaths.patch to workaround CMake rpath handling. + [boo#1025282] + +------------------------------------------------------------------- cross-s390-binutils.changes: same change cross-s390x-binutils.changes: same change cross-sparc-binutils.changes: same change cross-sparc64-binutils.changes: same change cross-spu-binutils.changes: same change cross-x86_64-binutils.changes: same change New: ---- binutils-bso21333.diff cross-riscv64-binutils.changes cross-riscv64-binutils.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ binutils.spec ++++++ --- /var/tmp/diff_new_pack.NTQAXC/_old 2017-04-25 08:54:26.454881965 +0200 +++ /var/tmp/diff_new_pack.NTQAXC/_new 2017-04-25 08:54:26.458881399 +0200 @@ -100,6 +100,8 @@ # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff Patch37: fix-security-bugs.diff +# Backport dc1e4d6dedcb8ee3bb1 +Patch38: binutils-bso21333.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -177,6 +179,7 @@ %patch34 -p1 %patch36 -p1 %patch37 -p1 +%patch38 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 @@ -248,6 +251,10 @@ %endif %if %{suse_version} <= 1320 --disable-x86-relax-relocations \ + --disable-compressed-debug-sections \ +%endif +%if %{suse_version} > 1320 + --enable-compressed-debug-sections=gas \ %endif --enable-shared make %{?_smp_mflags} all-bfd TARGET-bfd=headers @@ -288,7 +295,7 @@ %if "%{TARGET}" == "avr" || "%{TARGET}" == "spu" %define TARGET_OS %{TARGET} %else -%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "rx" +%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "riscv32" || "%{TARGET}" == "riscv64" || "%{TARGET}" == "rx" %define TARGET_OS %{TARGET}-elf %else %if "%{TARGET}" == "arm" ++++++ cross-aarch64-binutils.spec ++++++ --- /var/tmp/diff_new_pack.NTQAXC/_old 2017-04-25 08:54:26.498875744 +0200 +++ /var/tmp/diff_new_pack.NTQAXC/_new 2017-04-25 08:54:26.502875178 +0200 @@ -103,6 +103,8 @@ # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff Patch37: fix-security-bugs.diff +# Backport dc1e4d6dedcb8ee3bb1 +Patch38: binutils-bso21333.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch @@ -180,6 +182,7 @@ %patch34 -p1 %patch36 -p1 %patch37 -p1 +%patch38 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 @@ -251,6 +254,10 @@ %endif %if %{suse_version} <= 1320 --disable-x86-relax-relocations \ + --disable-compressed-debug-sections \ +%endif +%if %{suse_version} > 1320 + --enable-compressed-debug-sections=gas \ %endif --enable-shared make %{?_smp_mflags} all-bfd TARGET-bfd=headers @@ -291,7 +298,7 @@ %if "%{TARGET}" == "avr" || "%{TARGET}" == "spu" %define TARGET_OS %{TARGET} %else -%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "rx" +%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "riscv32" || "%{TARGET}" == "riscv64" || "%{TARGET}" == "rx" %define TARGET_OS %{TARGET}-elf %else %if "%{TARGET}" == "arm" cross-arm-binutils.spec: same change cross-avr-binutils.spec: same change cross-epiphany-binutils.spec: same change cross-hppa-binutils.spec: same change cross-hppa64-binutils.spec: same change cross-i386-binutils.spec: same change cross-ia64-binutils.spec: same change cross-m68k-binutils.spec: same change cross-mips-binutils.spec: same change cross-ppc-binutils.spec: same change cross-ppc64-binutils.spec: same change cross-ppc64le-binutils.spec: same change ++++++ cross-riscv64-binutils.spec ++++++ # # spec file for package cross-riscv64-binutils # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: cross-riscv64-binutils ExcludeArch: riscv64 %define cross 1 %define TARGET riscv64 BuildRequires: bison BuildRequires: dejagnu BuildRequires: flex BuildRequires: gcc-c++ # for the testsuite %if 0%{suse_version} >= 1210 BuildRequires: glibc-devel-static %endif %if 0%{suse_version} > 1220 BuildRequires: makeinfo %endif # for some gold tests BuildRequires: bc %if 0%{suse_version} > 1110 BuildRequires: zlib-devel-static %else BuildRequires: zlib-devel %endif Version: 2.28 Release: 0 # # RUN_TESTS %define run_tests %(test ! -f %_sourcedir/RUN_TESTS ; echo $?) # check the vanilla binutils, with no patches applied # TEST_VANILLA %define test_vanilla %(test ! -f %_sourcedir/TEST_VANILLA ; echo $?) # # handle test suite failures # %ifarch alpha %arm aarch64 hppa mips sh4 %sparc %define make_check_handling true %else # XXX check again # XXX disabled because gold is seriously broken for now %define make_check_handling true %endif # let make check fail anyway if RUN_TESTS was requested %if %{run_tests} %define make_check_handling false %endif # handle all binary object formats supported by SuSE (and a few more) %ifarch %ix86 %arm aarch64 ia64 ppc ppc64 ppc64le s390 s390x x86_64 %define build_multitarget 1 %else %define build_multitarget 0 %endif %define target_list aarch64 alpha armv5l armv6l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 powerpc64le s390 s390x sh4 sparc sparc64 x86_64 # # # Url: http://www.gnu.org/software/binutils/ PreReq: %{install_info_prereq} # bug437293 %ifarch ppc64 Obsoletes: binutils-64bit %endif # %define binutils_version %(echo %version | sed 's/\\.[0-9]\\{8\\}$//') Summary: GNU Binutils License: GFDL-1.3 and GPL-3.0+ Group: Development/Tools/Building Source: binutils-%{binutils_version}.tar.bz2 Source1: pre_checkin.sh Source2: README.First-for.SuSE.packagers Source3: baselibs.conf Patch: binutils-2.28-branch.diff Patch3: binutils-skip-rpaths.patch Patch4: s390-biarch.diff Patch5: x86-64-biarch.patch Patch6: unit-at-a-time.patch Patch7: ld-dtags.diff Patch8: ld-relro.diff Patch9: testsuite.diff Patch10: enable-targets-gold.diff Patch11: use-hashtype-both-by-default.diff Patch12: s390-pic-dso.diff Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch22: binutils-bfd_h.patch Patch34: aarch64-common-pagesize.patch # Backport 758d96d834ba725461a Patch36: binutils-bso21193.diff Patch37: fix-security-bugs.diff # Backport dc1e4d6dedcb8ee3bb1 Patch38: binutils-bso21333.diff Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch93: cross-avr-size.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: update-alternatives %description C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib, size, strings, and strip. These utilities are needed whenever you want to compile a program or kernel. %package gold Summary: The gold linker License: GPL-3.0+ Group: Development/Tools/Building Requires: binutils = %{version}-%{release} PreReq: update-alternatives %if 0%{suse_version} > 1100 %if 0%{!?cross:1} %define gold_archs %ix86 aarch64 %arm x86_64 ppc ppc64 ppc64le s390x %sparc %endif %endif %description gold gold is an ELF linker. It is intended to have complete support for ELF and to run as fast as possible on modern systems. For normal use it is a drop-in replacement for the older GNU linker. %package devel Summary: GNU binutils (BFD development files) License: GPL-3.0+ Group: Development/Libraries/C and C++ Requires: binutils = %{version}-%{release} Requires: zlib-devel Provides: binutils:/usr/include/bfd.h %description devel This package includes header files and static libraries necessary to build programs which use the GNU BFD library, which is part of binutils. %ifarch %arm %define HOST %{_target_cpu}-suse-linux-gnueabi %else %define HOST %(echo %{_target_cpu} | sed -e "s/parisc/hppa/" -e "s/i.86/i586/" -e "s/ppc/powerpc/" -e "s/sparc64v.*/sparc64/" -e "s/sparcv.*/sparc/")-suse-linux %endif %define DIST %(echo '%distribution' | sed 's/ (.*)//') %prep echo "make check will return with %{make_check_handling} in case of testsuite failures." %setup -q -n binutils-%{binutils_version} # Patch is outside test_vanilla because it's supposed to be the # patch bringing the tarball to the newest upstream version %patch -p1 %if !%{test_vanilla} %patch3 %patch4 %patch5 %patch6 %patch7 -p1 %patch8 %patch9 %patch10 %if "%{TARGET}" != "mips" # The MIPS ABI is incompatible with .gnu.hash, so don't # use it there %patch11 %patch12 %endif %patch14 %patch18 %patch22 %patch34 -p1 %patch36 -p1 %patch37 -p1 %patch38 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 %patch92 %patch93 %endif # # test_vanilla %endif %build sed -i -e '/BFD_VERSION_DATE/s/$/-%(echo %release | sed 's/\.[0-9]*$//')/' bfd/version.h RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Wno-error" %if 0%{!?cross:1} # Building native binutils echo "Building native binutils." %if %build_multitarget EXTRA_TARGETS="%(printf ,%%s-suse-linux %target_list)" EXTRA_TARGETS="$EXTRA_TARGETS,powerpc-macos,powerpc-macos10,spu-elf,x86_64-pep" %else EXTRA_TARGETS= %ifarch sparc EXTRA_TARGETS="$EXTRA_TARGETS,sparc64-suse-linux" %endif %ifarch ppc EXTRA_TARGETS="$EXTRA_TARGETS,powerpc64-suse-linux" %endif %ifarch s390 EXTRA_TARGETS="$EXTRA_TARGETS,s390x-suse-linux" %endif %ifarch s390x EXTRA_TARGETS="$EXTRA_TARGETS,s390-suse-linux" %endif %ifarch %ix86 EXTRA_TARGETS="$EXTRA_TARGETS,x86_64-suse-linux" %endif %ifarch ppc ppc64 ppc64le EXTRA_TARGETS="$EXTRA_TARGETS,spu-elf" %endif %ifarch %arm EXTRA_TARGETS="$EXTRA_TARGETS,arm-suse-linux-gnueabi" %endif %ifarch aarch64 EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux" %endif %endif # Normally we'd like to add --enable-deterministic-archives # here (which by default makes uid/mtime be zero for archive # members), to increase chances of getting a reproducable build # But this breaks Makefile rules when directly accessing archives: # rebuilding the same archive from unchanged .o files recreates # it, because timestamps in the .a are 0, unequal to the actual timestamp # of the .o files :-/ %define common_flags CFLAGS="${RPM_OPT_FLAGS}" CXXFLAGS="${RPM_OPT_FLAGS}" \\\ --prefix=%{_prefix} --libdir=%{_libdir} \\\ --infodir=%{_infodir} --mandir=%{_mandir} \\\ --with-bugurl=http://bugs.opensuse.org/ \\\ --with-pkgversion="GNU Binutils; %{DIST}" \\\ --with-separate-debug-dir=%{_prefix}/lib/debug \\\ --with-pic --with-system-zlib --build=%{HOST} mkdir build-dir cd build-dir ../configure %common_flags \ ${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"} \ --enable-plugins \ %ifarch %gold_archs --enable-gold \ --enable-threads \ %endif %if %{suse_version} <= 1320 --disable-x86-relax-relocations \ --disable-compressed-debug-sections \ %endif %if %{suse_version} > 1320 --enable-compressed-debug-sections=gas \ %endif --enable-shared make %{?_smp_mflags} all-bfd TARGET-bfd=headers # force reconfiguring (???) rm bfd/Makefile make %{?_smp_mflags} %else # building cross-TARGET-binutils echo "Building cross binutils." mkdir build-dir cd build-dir EXTRA_TARGETS= %if "%{TARGET}" == "sparc" EXTRA_TARGETS="$EXTRA_TARGETS,sparc64-suse-linux" %endif %if "%{TARGET}" == "powerpc" EXTRA_TARGETS="$EXTRA_TARGETS,powerpc64-suse-linux" %endif %if "%{TARGET}" == "s390" EXTRA_TARGETS="$EXTRA_TARGETS,s390x-suse-linux" %endif %if "%{TARGET}" == "s390x" EXTRA_TARGETS="$EXTRA_TARGETS,s390-suse-linux" %endif %if "%{TARGET}" == "i586" EXTRA_TARGETS="$EXTRA_TARGETS,x86_64-suse-linux" %endif %if "%{TARGET}" == "hppa" EXTRA_TARGETS="$EXTRA_TARGETS,hppa64-suse-linux" %endif %if "%{TARGET}" == "arm" EXTRA_TARGETS="$EXTRA_TARGETS,arm-suse-linux-gnueabi" %endif %if "%{TARGET}" == "aarch64" EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux" %endif %if "%{TARGET}" == "avr" || "%{TARGET}" == "spu" %define TARGET_OS %{TARGET} %else %if "%{TARGET}" == "epiphany" || "%{TARGET}" == "riscv32" || "%{TARGET}" == "riscv64" || "%{TARGET}" == "rx" %define TARGET_OS %{TARGET}-elf %else %if "%{TARGET}" == "arm" %define TARGET_OS %{TARGET}-suse-linux-gnueabi %else %define TARGET_OS %{TARGET}-suse-linux %endif %endif %endif ../configure CFLAGS="${RPM_OPT_FLAGS}" \ --prefix=%{_prefix} \ --with-bugurl=http://bugs.opensuse.org/ \ --with-pkgversion="GNU Binutils; %{DIST}" \ --with-system-zlib \ --disable-nls \ %if %{suse_version} <= 1320 --disable-x86-relax-relocations \ %endif --build=%{HOST} --target=%{TARGET_OS} \ %if "%{TARGET}" == "spu" --with-sysroot=/usr/spu \ %else --with-sysroot=%{_prefix}/%{TARGET_OS}/sys-root \ %endif ${EXTRA_TARGETS:+--enable-targets="${EXTRA_TARGETS#,}"} make %{?_smp_mflags} all-bfd TARGET-bfd=headers # force reconfiguring rm bfd/Makefile make %{?_smp_mflags} %if "%{TARGET}" == "avr" # build an extra nesC version because nesC requires $'s in identifiers cp -a gas gas-nesc echo '#include "tc-%{TARGET}-nesc.h"' > gas-nesc/targ-cpu.h make -C gas-nesc clean make -C gas-nesc %{?_smp_mflags} %endif %endif %check unset SUSE_ASNEEDED cd build-dir %if 0%{?cross:1} make -k check CFLAGS="-O2 -g" CXXFLAGS="-O2 -g" || %{make_check_handling} %else make -k check CFLAGS="$RPM_OPT_FLAGS -Wno-unused -Wno-unprototyped-calls" || : %endif %install cd build-dir %if 0%{!?cross:1} # installing native binutils %ifarch %gold_archs make DESTDIR=$RPM_BUILD_ROOT install-gold ln -sf ld.gold $RPM_BUILD_ROOT%{_bindir}/gold %endif make DESTDIR=$RPM_BUILD_ROOT install-info install make -C gas/doc DESTDIR=$RPM_BUILD_ROOT install-info-am install-am make DESTDIR=$RPM_BUILD_ROOT install-bfd install-opcodes if [ ! -f "%buildroot/%_bindir/ld.bfd" ]; then mv "%buildroot/%_bindir"/{ld,ld.bfd}; else rm -f "%buildroot/%_bindir/ld"; fi mkdir -p "%buildroot/%_sysconfdir/alternatives"; # Keep older versions of brp-symlink happy %if %{suse_version} < 1310 ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld" %endif ln -s "%_sysconfdir/alternatives/ld" "%buildroot/%_bindir/ld"; rm -rf $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin ln -sf ../../bin/{ar,as,ld,nm,ranlib,strip} $RPM_BUILD_ROOT%{_prefix}/%{HOST}/bin mv $RPM_BUILD_ROOT%{_prefix}/%{HOST}/lib/ldscripts $RPM_BUILD_ROOT%{_libdir} ln -sf ../../%{_lib}/ldscripts $RPM_BUILD_ROOT%{_prefix}/%{HOST}/lib/ldscripts # Install header files make -C libiberty install_to_libdir target_header_dir=/usr/include DESTDIR=$RPM_BUILD_ROOT # We want the PIC libiberty.a install -m 644 libiberty/pic/libiberty.a $RPM_BUILD_ROOT%{_libdir} # chmod a+x $RPM_BUILD_ROOT%{_libdir}/libbfd-* chmod a+x $RPM_BUILD_ROOT%{_libdir}/libopcodes-* # No shared linking outside binutils rm $RPM_BUILD_ROOT%{_libdir}/lib{bfd,opcodes}.so rm $RPM_BUILD_ROOT%{_libdir}/lib{bfd,opcodes}.la # Remove unwanted files to shut up rpm rm -f $RPM_BUILD_ROOT%{_infodir}/configure* $RPM_BUILD_ROOT%{_infodir}/standards.info* rm -f $RPM_BUILD_ROOT%{_mandir}/man1/dlltool.1 $RPM_BUILD_ROOT%{_mandir}/man1/windres.1 $RPM_BUILD_ROOT%{_mandir}/man1/windmc.1 cd .. %find_lang binutils %find_lang bfd binutils.lang %find_lang gas binutils.lang %find_lang ld binutils.lang %find_lang opcodes binutils.lang %find_lang gprof binutils.lang %ifarch %gold_archs %find_lang gold binutils-gold.lang %endif mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name} install -m 644 binutils/NEWS $RPM_BUILD_ROOT%{_docdir}/%{name}/NEWS-binutils install -m 644 gas/NEWS $RPM_BUILD_ROOT%{_docdir}/%{name}/NEWS-gas install -m 644 ld/NEWS $RPM_BUILD_ROOT%{_docdir}/%{name}/NEWS-ld %else # installing cross-TARGET-binutils and TARGET-binutils make DESTDIR=$RPM_BUILD_ROOT install # Replace hard links by symlinks, so that rpmlint doesn't complain T=$(basename %buildroot/usr/%{TARGET_OS}) for f in %buildroot/usr/$T/bin/* ; do ln -sf /usr/bin/$T-$(basename $f) $f done %if "%{TARGET}" == "avr" install -c gas-nesc/as-new $RPM_BUILD_ROOT%{_prefix}/bin/%{TARGET_OS}-nesc-as ln -sf ../../bin/%{TARGET_OS}-nesc-as $RPM_BUILD_ROOT%{_prefix}/%{TARGET_OS}/bin/nesc-as %endif rm -rf $RPM_BUILD_ROOT%{_mandir} rm -rf $RPM_BUILD_ROOT%{_infodir} rm -rf $RPM_BUILD_ROOT%{_prefix}/lib* rm -rf $RPM_BUILD_ROOT%{_prefix}/include rm -f $RPM_BUILD_ROOT%{_prefix}/bin/*-c++filt
../binutils.lang %endif
%if 0%{!?cross:1}
%post
/sbin/ldconfig
"%_sbindir/update-alternatives" --install \
"%_bindir/ld" ld "%_bindir/ld.bfd" 2
%install_info --info-dir=%{_infodir} %{_infodir}/as.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
%post gold
"%_sbindir/update-alternatives" --install \
"%_bindir/ld" ld "%_bindir/ld.gold" 1
%preun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
if [ "$1" = 0 ]; then
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.bfd";
fi;
%preun gold
if [ "$1" = 0 ]; then
"%_sbindir/update-alternatives" --remove ld "%_bindir/ld.gold";
fi;
%postun
/sbin/ldconfig
%endif
%files -f binutils.lang
%defattr(-,root,root)
%if 0%{!?cross:1}
%{_docdir}/%{name}
%{_prefix}/%{HOST}/bin/*
%{_prefix}/%{HOST}/lib/ldscripts
%{_libdir}/ldscripts
%{_bindir}/*
%ghost %_sysconfdir/alternatives/ld
%ifarch %gold_archs
%exclude %{_bindir}/gold
%exclude %{_bindir}/ld.gold
%endif
%doc %{_infodir}/*.gz
%{_libdir}/lib*-%{version}*.so
%doc %{_mandir}/man1/*.1.gz
%else
%{_prefix}/%{TARGET_OS}
%{_prefix}/bin/*
%endif
%ifarch %gold_archs
%files gold -f binutils-gold.lang
%defattr(-,root,root)
%doc gold/NEWS gold/README
%{_bindir}/gold
%{_bindir}/ld.gold
%endif
%if 0%{!?cross:1}
%files devel
%defattr(-,root,root)
%{_prefix}/include/*.h
%{_libdir}/lib*.*a
%endif
%changelog
++++++ cross-rx-binutils.spec ++++++
--- /var/tmp/diff_new_pack.NTQAXC/_old 2017-04-25 08:54:26.954811273 +0200
+++ /var/tmp/diff_new_pack.NTQAXC/_new 2017-04-25 08:54:26.958810708 +0200
@@ -103,6 +103,8 @@
# Backport 758d96d834ba725461a
Patch36: binutils-bso21193.diff
Patch37: fix-security-bugs.diff
+# Backport dc1e4d6dedcb8ee3bb1
+Patch38: binutils-bso21333.diff
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
Patch93: cross-avr-size.patch
@@ -180,6 +182,7 @@
%patch34 -p1
%patch36 -p1
%patch37 -p1
+%patch38 -p1
%if "%{TARGET}" == "avr"
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90
@@ -251,6 +254,10 @@
%endif
%if %{suse_version} <= 1320
--disable-x86-relax-relocations \
+ --disable-compressed-debug-sections \
+%endif
+%if %{suse_version} > 1320
+ --enable-compressed-debug-sections=gas \
%endif
--enable-shared
make %{?_smp_mflags} all-bfd TARGET-bfd=headers
@@ -291,7 +298,7 @@
%if "%{TARGET}" == "avr" || "%{TARGET}" == "spu"
%define TARGET_OS %{TARGET}
%else
-%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "rx"
+%if "%{TARGET}" == "epiphany" || "%{TARGET}" == "riscv32" || "%{TARGET}" == "riscv64" || "%{TARGET}" == "rx"
%define TARGET_OS %{TARGET}-elf
%else
%if "%{TARGET}" == "arm"
cross-s390-binutils.spec: same change
cross-s390x-binutils.spec: same change
cross-sparc-binutils.spec: same change
cross-sparc64-binutils.spec: same change
cross-spu-binutils.spec: same change
cross-x86_64-binutils.spec: same change
++++++ binutils-2.28-branch.diff ++++++
++++ 1052 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/binutils/binutils-2.28-branch.diff
++++ and /work/SRC/openSUSE:Factory/.binutils.new/binutils-2.28-branch.diff
++++++ binutils-bso21333.diff ++++++
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index 35cee61..40c9f6f 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -2133,9 +2133,11 @@ md_pcrel_from_section (fixS *fixp, segT sec ATTRIBUTE_UNUSED)
int
tc_s390_fix_adjustable (fixS *fixP)
{
- /* Don't adjust references to merge sections. */
- if ((S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_MERGE) != 0)
+ /* Don't adjust pc-relative references to merge sections. */
+ if (fixP->fx_pcrel
+ && (S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_MERGE) != 0)
return 0;
+
/* adjust_reloc_syms doesn't know about the GOT. */
if ( fixP->fx_r_type == BFD_RELOC_16_GOTOFF
|| fixP->fx_r_type == BFD_RELOC_32_GOTOFF
++++++ binutils-skip-rpaths.patch ++++++
--- /var/tmp/diff_new_pack.NTQAXC/_old 2017-04-25 08:54:27.282764899 +0200
+++ /var/tmp/diff_new_pack.NTQAXC/_new 2017-04-25 08:54:27.282764899 +0200
@@ -1,16 +1,13 @@
Index: ld/emultempl/elf32.em
===================================================================
---- ld/emultempl/elf32.em.orig 2014-10-14 17:18:40.000000000 +0200
-+++ ld/emultempl/elf32.em 2014-10-14 17:20:23.000000000 +0200
-@@ -1357,8 +1357,38 @@ if test x"$LDEMUL_BEFORE_ALLOCATION" !=
+--- ld/emultempl/elf32.em.orig 2017-03-02 09:23:54.000000000 +0100
++++ ld/emultempl/elf32.em 2017-03-30 13:06:06.406399958 +0200
+@@ -1581,8 +1581,35 @@ if test x"$LDEMUL_BEFORE_ALLOCATION" !=
else
ELF_INTERPRETER_SET_DEFAULT=
fi
+
-+ libpath_nl=
-+ for path in $NATIVE_LIB_DIRS; do
-+ libpath_nl="$libpath_nl\n$path"
-+ done
++ libpath_nl=`echo ${NATIVE_LIB_DIRS// /\\\n}`
fragment <