Hello community, here is the log from the commit of package binutils for openSUSE:Factory checked in at 2012-11-28 15:59:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/binutils (Old) and /work/SRC/openSUSE:Factory/.binutils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "binutils", Maintainer is "matz@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/binutils/binutils.changes 2012-11-02 07:30:50.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/binutils.changes 2012-11-28 15:59:29.000000000 +0100 @@ -1,0 +2,26 @@ +Wed Nov 28 10:56:12 UTC 2012 - rguenther@suse.com + +- Change update-alternative priorities to always prefer GNU ld + +------------------------------------------------------------------- +Tue Nov 27 15:30:41 UTC 2012 - jengelh@inai.de + +- Implement update-alternatives service for gold + +------------------------------------------------------------------- +Tue Nov 27 12:44:19 UTC 2012 - adrian@suse.de + +- update to version 2.23.1 release +- add aarch64 biarch patch + +------------------------------------------------------------------- +Sat Nov 24 02:05:34 UTC 2012 - adrian@suse.de + +- add cross-aarch64-binutils + +------------------------------------------------------------------- +Thu Nov 22 19:38:33 UTC 2012 - jengelh@inai.de + +- Have pre_checkin.sh create cross-sparc64-binutils + +------------------------------------------------------------------- New Changes file: --- /dev/null 2012-11-26 11:02:30.307549147 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/cross-aarch64-binutils.changes 2012-11-28 15:59:29.000000000 +0100 @@ -0,0 +1,2450 @@ +------------------------------------------------------------------- +Wed Nov 28 10:56:12 UTC 2012 - rguenther@suse.com + +- Change update-alternative priorities to always prefer GNU ld + +------------------------------------------------------------------- +Tue Nov 27 15:30:41 UTC 2012 - jengelh@inai.de + +- Implement update-alternatives service for gold + +------------------------------------------------------------------- +Tue Nov 27 12:44:19 UTC 2012 - adrian@suse.de + +- update to version 2.23.1 release +- add aarch64 biarch patch + +------------------------------------------------------------------- +Sat Nov 24 02:05:34 UTC 2012 - adrian@suse.de + +- add cross-aarch64-binutils + +------------------------------------------------------------------- +Thu Nov 22 19:38:33 UTC 2012 - jengelh@inai.de + +- Have pre_checkin.sh create cross-sparc64-binutils + +------------------------------------------------------------------- +Wed Oct 24 11:03:16 UTC 2012 - rguenther@suse.com + +- Update to binutils 2.23 branch head. + * Includes binutils 2.23 release. + +------------------------------------------------------------------- +Mon Sep 17 13:57:11 UTC 2012 - rguenther@suse.com + +- Update to binutils 2.23 release candidate. +- Remove no longer applying AVR patch. + +------------------------------------------------------------------- +Fri Sep 7 12:42:18 UTC 2012 - coolo@suse.com + +- add makeinfo as explicit buildrequire + +------------------------------------------------------------------- +Mon Sep 3 09:59:53 UTC 2012 - idonmez@suse.com + +- Enable threaded linking in gold. + +------------------------------------------------------------------- +Mon Sep 3 09:03:59 UTC 2012 - rguenther@suse.com + +- Add patch to fix libiberty integer overflow. [bnc#776968] + +------------------------------------------------------------------- +Thu Jun 21 08:43:29 UTC 2012 - adrian@suse.de + +- fix default elf format for arm cross tools + +------------------------------------------------------------------- +Tue Jun 19 05:09:40 UTC 2012 - factory-maintainer@kulow.org + +- fix stupid typo + +------------------------------------------------------------------- +Mon Jun 18 11:06:01 UTC 2012 - coolo@suse.com + +- the previous fix was not good enough, another iteration of the same + +------------------------------------------------------------------- +Thu Jun 14 11:53:56 UTC 2012 - coolo@suse.com + +- exclude our target arch for cross compiling - this is just not cross + +------------------------------------------------------------------- +Thu Apr 19 11:28:41 UTC 2012 - rguenther@suse.com + +- Consistently use $target-suse-linux triplets. + +------------------------------------------------------------------- +Wed Feb 15 11:32:14 UTC 2012 - rguenther@suse.com + +- Drop the new spec files again, instead move the cross-$arch-binutils + contents to /usr, away from /opt. + +------------------------------------------------------------------- +Tue Feb 14 17:53:08 UTC 2012 - max@suse.com + +- Add spec files that build variants for arm and avr that install + under /usr rather than /opt/cross. +- Add avr-binutils-relocs.patch to fix a crash in avr-ld. + http://sourceware.org/bugzilla/show_bug.cgi?id=12161 + +------------------------------------------------------------------- +Thu Jan 26 10:36:33 UTC 2012 - rguenther@suse.com + +- Fix package licenses to follow SPDX format, adjust to reality. + +------------------------------------------------------------------- +Wed Jan 25 14:12:40 UTC 2012 - rguenther@suse.com + +- Amend patch to fix arm unwind table corruption. [bso#13449] + +------------------------------------------------------------------- +Wed Jan 4 12:31:02 UTC 2012 - rguenther@suse.com + +- Add patch to fix arm unwind table corruption. [bso#13449] +- Canonicalize arm targets. +- Enable gold for arm. + +------------------------------------------------------------------- +Tue Jan 3 14:42:59 UTC 2012 - rguenther@suse.com + +- Add patch to fix build-id issues. [bso#12451] + +------------------------------------------------------------------- +Tue Dec 6 10:48:16 UTC 2011 - rguenther@suse.com + +- Update to final binutils 2.22 release. + +------------------------------------------------------------------- +Wed Nov 2 09:27:38 UTC 2011 - rguenther@suse.com + +- Update to binutils-2_22-branch head. + * Adds support for LDPT_GET_SYMBOLS_V2. + * Drop patches that have been applied upstream. + +------------------------------------------------------------------- +Fri Sep 30 11:25:38 UTC 2011 - tserong@suse.com + +- Fix --gc-sections failure with symbol versioning [bso#13195] + +------------------------------------------------------------------- +Wed Sep 28 13:08:07 UTC 2011 - rguenther@suse.com + +- Update to binutils-2_22-branch head. + * Drop patches that have been applied upstream. + * Drop patches that no longer apply. + +------------------------------------------------------------------- +Thu Sep 22 09:59:07 UTC 2011 - adrian@suse.de + +- use -gnueabi extension to switch to new abi for arm + +------------------------------------------------------------------- +Thu Sep 22 06:54:34 CEST 2011 - dmueller@suse.de + +- Add support for arm-*-gnueabihf targets (PR ld/12643) + +------------------------------------------------------------------- +Wed Sep 21 21:44:12 UTC 2011 - adrian@suse.de + +- add arm targets + +------------------------------------------------------------------- +Tue Aug 23 11:39:25 UTC 2011 - rguenther@novell.com + +- Fix XLC object linker complaints. [bnc#713504] + +------------------------------------------------------------------- +Sun Aug 21 14:14:41 UTC 2011 - aj@suse.de + +- Make --no-copy-dt-needed-entries the default for ld. + +------------------------------------------------------------------- +Tue Jul 12 08:54:56 UTC 2011 - rguenther@novell.com + +- Add patch for bogus executable stack setting with -flto. [bso#12982] + +------------------------------------------------------------------- +Mon Jul 11 08:42:13 UTC 2011 - rguenther@novell.com + +- BuildRequire glibc-devel-static to fix static linking tests. + +------------------------------------------------------------------- +Tue Jul 5 12:42:10 UTC 2011 - saschpe@suse.de + +- Add patch to fix a readelf endless loop bug. [bso#12855] + +------------------------------------------------------------------- +Tue Jun 28 08:12:12 UTC 2011 - rguenther@novell.com + +- Update to binutils 2.21.1 release. + * Add --interleave-width option to objcopy to allowing copying a range + of bytes from the input to the output with the --interleave option. + * Add support for the TMS320C6000 (TI C6X) processor family. + * Readelf can now display ARM unwind tables (.ARM.exidx / .ARM.extab) + using the -u / --unwind option. + * Add --dyn-syms to readelf to dump dynamic symbol table. + * A new tool - elfedit - has been added to directly manipulate ELF + format binaries. + * Add to dlltool .def file feature of aliasing PE internal symbol name + by '== <ID>' option. + * Add a new command line option -a / --addresses to addr2line to display + the address before function name or source filename. + * Add a new command line option -p / --pretty-print to addr2line to have + a more human readable output. + * The hppa/som targets can now be compiled on any host. ++++ 2253 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Factory/.binutils.new/cross-aarch64-binutils.changes --- /work/SRC/openSUSE:Factory/binutils/cross-alpha-binutils.changes 2012-11-02 07:30:50.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/cross-alpha-binutils.changes 2012-11-28 15:59:29.000000000 +0100 @@ -1,0 +2,26 @@ +Wed Nov 28 10:56:12 UTC 2012 - rguenther@suse.com + +- Change update-alternative priorities to always prefer GNU ld + +------------------------------------------------------------------- +Tue Nov 27 15:30:41 UTC 2012 - jengelh@inai.de + +- Implement update-alternatives service for gold + +------------------------------------------------------------------- +Tue Nov 27 12:44:19 UTC 2012 - adrian@suse.de + +- update to version 2.23.1 release +- add aarch64 biarch patch + +------------------------------------------------------------------- +Sat Nov 24 02:05:34 UTC 2012 - adrian@suse.de + +- add cross-aarch64-binutils + +------------------------------------------------------------------- +Thu Nov 22 19:38:33 UTC 2012 - jengelh@inai.de + +- Have pre_checkin.sh create cross-sparc64-binutils + +------------------------------------------------------------------- cross-arm-binutils.changes: same change cross-avr-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-mips-binutils.changes: same change cross-ppc-binutils.changes: same change cross-ppc64-binutils.changes: same change cross-s390-binutils.changes: same change cross-s390x-binutils.changes: same change cross-sparc-binutils.changes: same change New Changes file: --- /dev/null 2012-11-26 11:02:30.307549147 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/cross-sparc64-binutils.changes 2012-11-28 15:59:29.000000000 +0100 @@ -0,0 +1,2450 @@ +------------------------------------------------------------------- +Wed Nov 28 10:56:12 UTC 2012 - rguenther@suse.com + +- Change update-alternative priorities to always prefer GNU ld + +------------------------------------------------------------------- +Tue Nov 27 15:30:41 UTC 2012 - jengelh@inai.de + +- Implement update-alternatives service for gold + +------------------------------------------------------------------- +Tue Nov 27 12:44:19 UTC 2012 - adrian@suse.de + +- update to version 2.23.1 release +- add aarch64 biarch patch + +------------------------------------------------------------------- +Sat Nov 24 02:05:34 UTC 2012 - adrian@suse.de + +- add cross-aarch64-binutils + +------------------------------------------------------------------- +Thu Nov 22 19:38:33 UTC 2012 - jengelh@inai.de + +- Have pre_checkin.sh create cross-sparc64-binutils + +------------------------------------------------------------------- +Wed Oct 24 11:03:16 UTC 2012 - rguenther@suse.com + +- Update to binutils 2.23 branch head. + * Includes binutils 2.23 release. + +------------------------------------------------------------------- +Mon Sep 17 13:57:11 UTC 2012 - rguenther@suse.com + +- Update to binutils 2.23 release candidate. +- Remove no longer applying AVR patch. + +------------------------------------------------------------------- +Fri Sep 7 12:42:18 UTC 2012 - coolo@suse.com + +- add makeinfo as explicit buildrequire + +------------------------------------------------------------------- +Mon Sep 3 09:59:53 UTC 2012 - idonmez@suse.com + +- Enable threaded linking in gold. + +------------------------------------------------------------------- +Mon Sep 3 09:03:59 UTC 2012 - rguenther@suse.com + +- Add patch to fix libiberty integer overflow. [bnc#776968] + +------------------------------------------------------------------- +Thu Jun 21 08:43:29 UTC 2012 - adrian@suse.de + +- fix default elf format for arm cross tools + +------------------------------------------------------------------- +Tue Jun 19 05:09:40 UTC 2012 - factory-maintainer@kulow.org + +- fix stupid typo + +------------------------------------------------------------------- +Mon Jun 18 11:06:01 UTC 2012 - coolo@suse.com + +- the previous fix was not good enough, another iteration of the same + +------------------------------------------------------------------- +Thu Jun 14 11:53:56 UTC 2012 - coolo@suse.com + +- exclude our target arch for cross compiling - this is just not cross + +------------------------------------------------------------------- +Thu Apr 19 11:28:41 UTC 2012 - rguenther@suse.com + +- Consistently use $target-suse-linux triplets. + +------------------------------------------------------------------- +Wed Feb 15 11:32:14 UTC 2012 - rguenther@suse.com + +- Drop the new spec files again, instead move the cross-$arch-binutils + contents to /usr, away from /opt. + +------------------------------------------------------------------- +Tue Feb 14 17:53:08 UTC 2012 - max@suse.com + +- Add spec files that build variants for arm and avr that install + under /usr rather than /opt/cross. +- Add avr-binutils-relocs.patch to fix a crash in avr-ld. + http://sourceware.org/bugzilla/show_bug.cgi?id=12161 + +------------------------------------------------------------------- +Thu Jan 26 10:36:33 UTC 2012 - rguenther@suse.com + +- Fix package licenses to follow SPDX format, adjust to reality. + +------------------------------------------------------------------- +Wed Jan 25 14:12:40 UTC 2012 - rguenther@suse.com + +- Amend patch to fix arm unwind table corruption. [bso#13449] + +------------------------------------------------------------------- +Wed Jan 4 12:31:02 UTC 2012 - rguenther@suse.com + +- Add patch to fix arm unwind table corruption. [bso#13449] +- Canonicalize arm targets. +- Enable gold for arm. + +------------------------------------------------------------------- +Tue Jan 3 14:42:59 UTC 2012 - rguenther@suse.com + +- Add patch to fix build-id issues. [bso#12451] + +------------------------------------------------------------------- +Tue Dec 6 10:48:16 UTC 2011 - rguenther@suse.com + +- Update to final binutils 2.22 release. + +------------------------------------------------------------------- +Wed Nov 2 09:27:38 UTC 2011 - rguenther@suse.com + +- Update to binutils-2_22-branch head. + * Adds support for LDPT_GET_SYMBOLS_V2. + * Drop patches that have been applied upstream. + +------------------------------------------------------------------- +Fri Sep 30 11:25:38 UTC 2011 - tserong@suse.com + +- Fix --gc-sections failure with symbol versioning [bso#13195] + +------------------------------------------------------------------- +Wed Sep 28 13:08:07 UTC 2011 - rguenther@suse.com + +- Update to binutils-2_22-branch head. + * Drop patches that have been applied upstream. + * Drop patches that no longer apply. + +------------------------------------------------------------------- +Thu Sep 22 09:59:07 UTC 2011 - adrian@suse.de + +- use -gnueabi extension to switch to new abi for arm + +------------------------------------------------------------------- +Thu Sep 22 06:54:34 CEST 2011 - dmueller@suse.de + +- Add support for arm-*-gnueabihf targets (PR ld/12643) + +------------------------------------------------------------------- +Wed Sep 21 21:44:12 UTC 2011 - adrian@suse.de + +- add arm targets + +------------------------------------------------------------------- +Tue Aug 23 11:39:25 UTC 2011 - rguenther@novell.com + +- Fix XLC object linker complaints. [bnc#713504] + +------------------------------------------------------------------- +Sun Aug 21 14:14:41 UTC 2011 - aj@suse.de + +- Make --no-copy-dt-needed-entries the default for ld. + +------------------------------------------------------------------- +Tue Jul 12 08:54:56 UTC 2011 - rguenther@novell.com + +- Add patch for bogus executable stack setting with -flto. [bso#12982] + +------------------------------------------------------------------- +Mon Jul 11 08:42:13 UTC 2011 - rguenther@novell.com + +- BuildRequire glibc-devel-static to fix static linking tests. + +------------------------------------------------------------------- +Tue Jul 5 12:42:10 UTC 2011 - saschpe@suse.de + +- Add patch to fix a readelf endless loop bug. [bso#12855] + +------------------------------------------------------------------- +Tue Jun 28 08:12:12 UTC 2011 - rguenther@novell.com + +- Update to binutils 2.21.1 release. + * Add --interleave-width option to objcopy to allowing copying a range + of bytes from the input to the output with the --interleave option. + * Add support for the TMS320C6000 (TI C6X) processor family. + * Readelf can now display ARM unwind tables (.ARM.exidx / .ARM.extab) + using the -u / --unwind option. + * Add --dyn-syms to readelf to dump dynamic symbol table. + * A new tool - elfedit - has been added to directly manipulate ELF + format binaries. + * Add to dlltool .def file feature of aliasing PE internal symbol name + by '== <ID>' option. + * Add a new command line option -a / --addresses to addr2line to display + the address before function name or source filename. + * Add a new command line option -p / --pretty-print to addr2line to have + a more human readable output. + * The hppa/som targets can now be compiled on any host. ++++ 2253 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Factory/.binutils.new/cross-sparc64-binutils.changes --- /work/SRC/openSUSE:Factory/binutils/cross-spu-binutils.changes 2012-11-02 07:30:51.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.binutils.new/cross-spu-binutils.changes 2012-11-28 15:59:29.000000000 +0100 @@ -1,0 +2,26 @@ +Wed Nov 28 10:56:12 UTC 2012 - rguenther@suse.com + +- Change update-alternative priorities to always prefer GNU ld + +------------------------------------------------------------------- +Tue Nov 27 15:30:41 UTC 2012 - jengelh@inai.de + +- Implement update-alternatives service for gold + +------------------------------------------------------------------- +Tue Nov 27 12:44:19 UTC 2012 - adrian@suse.de + +- update to version 2.23.1 release +- add aarch64 biarch patch + +------------------------------------------------------------------- +Sat Nov 24 02:05:34 UTC 2012 - adrian@suse.de + +- add cross-aarch64-binutils + +------------------------------------------------------------------- +Thu Nov 22 19:38:33 UTC 2012 - jengelh@inai.de + +- Have pre_checkin.sh create cross-sparc64-binutils + +------------------------------------------------------------------- cross-x86_64-binutils.changes: same change Old: ---- binutils-2.23.0.tar.bz2 New: ---- aarch64-biarch.patch binutils-2.23.1.tar.bz2 cross-aarch64-binutils.changes cross-aarch64-binutils.spec cross-sparc64-binutils.changes cross-sparc64-binutils.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ binutils.spec ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:33.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:33.000000000 +0100 @@ -35,7 +35,7 @@ %else BuildRequires: zlib-devel %endif -Version: 2.23.0 +Version: 2.23.1 Release: 0 # # RUN_TESTS @@ -46,7 +46,7 @@ # # handle test suite failures # -%ifarch alpha %arm hppa mips sh4 %sparc +%ifarch alpha %arm aarch64 hppa mips sh4 %sparc %define make_check_handling true %else # XXX check again @@ -58,12 +58,12 @@ %define make_check_handling false %endif # handle all binary object formats supported by SuSE (and a few more) -%ifarch %ix86 %arm ia64 ppc ppc64 s390 s390x x86_64 +%ifarch %ix86 %arm aarch64 ia64 ppc ppc64 s390 s390x x86_64 %define build_multitarget 1 %else %define build_multitarget 0 %endif -%define target_list alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 s390 s390x sh4 sparc sparc64 x86_64 +%define target_list aarch64 alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 s390 s390x sh4 sparc sparc64 x86_64 # # # @@ -96,7 +96,9 @@ Patch21: binutils-2.22-objalloc.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch +Patch101: aarch64-biarch.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build +PreReq: update-alternatives %description C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib, @@ -109,6 +111,7 @@ 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 %arm x86_64 ppc ppc64 %sparc @@ -120,7 +123,6 @@ 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+ @@ -158,6 +160,7 @@ %patch14 %patch18 %patch21 +%patch101 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 @@ -199,6 +202,9 @@ %ifarch %arm EXTRA_TARGETS="$EXTRA_TARGETS,arm-suse-linux-gnueabi" %endif +%ifarch aarch64 +EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux" +%endif %endif %define common_flags CFLAGS="${RPM_OPT_FLAGS}" CXXFLAGS="${RPM_OPT_FLAGS}" \\\ --prefix=%{_prefix} --libdir=%{_libdir} \\\ @@ -249,6 +255,9 @@ %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" TARGET_OS=%{TARGET} %else @@ -303,11 +312,14 @@ 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 -# we could eventually use alternatives for /usr/bin/ld -if test -f $RPM_BUILD_ROOT%{_bindir}/ld.bfd; then - rm $RPM_BUILD_ROOT%{_bindir}/ld - ln -sf ld.bfd $RPM_BUILD_ROOT%{_bindir}/ld; +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"; +ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"; +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 @@ -360,23 +372,37 @@
../binutils.lang %endif
-%clean -rm -rf $RPM_BUILD_ROOT - %if 0%{!?cross:1} %post +"%_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 + %postun %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 + +%preun +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; + %endif %files -f binutils.lang @@ -387,6 +413,7 @@ %{_prefix}/%{HOST}/lib/ldscripts %{_libdir}/ldscripts %{_bindir}/* +%ghost %_sysconfdir/alternatives/ld %ifarch %gold_archs %exclude %{_bindir}/gold %exclude %{_bindir}/ld.gold ++++++ cross-aarch64-binutils.spec ++++++ # # spec file for package cross-aarch64-binutils # # Copyright (c) 2012 SUSE LINUX Products 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-aarch64-binutils ExcludeArch: aarch64 %define cross 1 %define TARGET aarch64 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.23.1 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 s390 s390x x86_64 %define build_multitarget 1 %else %define build_multitarget 0 %endif %define target_list aarch64 alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 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 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 Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch21: binutils-2.22-objalloc.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch101: aarch64-biarch.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 %arm x86_64 ppc ppc64 %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} %if !%{test_vanilla} %patch3 %patch4 %patch5 %patch6 %patch7 -p1 %patch8 %patch9 %patch10 %patch11 %patch14 %patch18 %patch21 %patch101 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 %patch92 %endif # # test_vanilla %endif sed -i -e '/BFD_VERSION_DATE/s/$/-%(echo %release | sed 's/\.[0-9]*$//')/' bfd/version.h %build 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 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 %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 --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 --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" TARGET_OS=%{TARGET} %else %if "%{TARGET}" == "arm" TARGET_OS=%{TARGET}-suse-linux-gnueabi %else TARGET_OS=%{TARGET}-suse-linux %endif %endif ../configure CFLAGS="${RPM_OPT_FLAGS}" \ --prefix=%{_prefix} \ --with-bugurl=http://bugs.opensuse.org/ \ --with-pkgversion="GNU Binutils; %{DIST}" \ --disable-nls \ --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"; ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"; 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 $RPM_BUILD_ROOT%{_infodir}/configure* $RPM_BUILD_ROOT%{_infodir}/standards.info* rm $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}*) 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}-nesc-as ln -sf ../../bin/%{TARGET}-nesc-as $RPM_BUILD_ROOT%{_prefix}/%{TARGET}/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 "%_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 %postun %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 %preun 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; %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}* %{_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-alpha-binutils.spec ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:33.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:33.000000000 +0100 @@ -38,7 +38,7 @@ %else BuildRequires: zlib-devel %endif -Version: 2.23.0 +Version: 2.23.1 Release: 0 # # RUN_TESTS @@ -49,7 +49,7 @@ # # handle test suite failures # -%ifarch alpha %arm hppa mips sh4 %sparc +%ifarch alpha %arm aarch64 hppa mips sh4 %sparc %define make_check_handling true %else # XXX check again @@ -61,12 +61,12 @@ %define make_check_handling false %endif # handle all binary object formats supported by SuSE (and a few more) -%ifarch %ix86 %arm ia64 ppc ppc64 s390 s390x x86_64 +%ifarch %ix86 %arm aarch64 ia64 ppc ppc64 s390 s390x x86_64 %define build_multitarget 1 %else %define build_multitarget 0 %endif -%define target_list alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 s390 s390x sh4 sparc sparc64 x86_64 +%define target_list aarch64 alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 s390 s390x sh4 sparc sparc64 x86_64 # # # @@ -99,7 +99,9 @@ Patch21: binutils-2.22-objalloc.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch +Patch101: aarch64-biarch.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build +PreReq: update-alternatives %description C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib, @@ -112,6 +114,7 @@ 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 %arm x86_64 ppc ppc64 %sparc @@ -123,7 +126,6 @@ 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+ @@ -161,6 +163,7 @@ %patch14 %patch18 %patch21 +%patch101 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 @@ -202,6 +205,9 @@ %ifarch %arm EXTRA_TARGETS="$EXTRA_TARGETS,arm-suse-linux-gnueabi" %endif +%ifarch aarch64 +EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux" +%endif %endif %define common_flags CFLAGS="${RPM_OPT_FLAGS}" CXXFLAGS="${RPM_OPT_FLAGS}" \\\ --prefix=%{_prefix} --libdir=%{_libdir} \\\ @@ -252,6 +258,9 @@ %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" TARGET_OS=%{TARGET} %else @@ -306,11 +315,14 @@ 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 -# we could eventually use alternatives for /usr/bin/ld -if test -f $RPM_BUILD_ROOT%{_bindir}/ld.bfd; then - rm $RPM_BUILD_ROOT%{_bindir}/ld - ln -sf ld.bfd $RPM_BUILD_ROOT%{_bindir}/ld; +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"; +ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"; +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 @@ -363,23 +375,37 @@
../binutils.lang %endif
-%clean -rm -rf $RPM_BUILD_ROOT - %if 0%{!?cross:1} %post +"%_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 + %postun %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 + +%preun +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; + %endif %files -f binutils.lang @@ -390,6 +416,7 @@ %{_prefix}/%{HOST}/lib/ldscripts %{_libdir}/ldscripts %{_bindir}/* +%ghost %_sysconfdir/alternatives/ld %ifarch %gold_archs %exclude %{_bindir}/gold %exclude %{_bindir}/ld.gold cross-arm-binutils.spec: same change cross-avr-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-mips-binutils.spec: same change cross-ppc-binutils.spec: same change cross-ppc64-binutils.spec: same change cross-s390-binutils.spec: same change cross-s390x-binutils.spec: same change cross-sparc-binutils.spec: same change ++++++ cross-sparc64-binutils.spec ++++++ # # spec file for package cross-sparc64-binutils # # Copyright (c) 2012 SUSE LINUX Products 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-sparc64-binutils ExcludeArch: sparc64 %define cross 1 %define TARGET sparc64 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.23.1 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 s390 s390x x86_64 %define build_multitarget 1 %else %define build_multitarget 0 %endif %define target_list aarch64 alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 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 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 Patch14: binutils-build-as-needed.diff Patch18: gold-depend-on-opcodes.diff Patch21: binutils-2.22-objalloc.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch Patch101: aarch64-biarch.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 %arm x86_64 ppc ppc64 %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} %if !%{test_vanilla} %patch3 %patch4 %patch5 %patch6 %patch7 -p1 %patch8 %patch9 %patch10 %patch11 %patch14 %patch18 %patch21 %patch101 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 %patch92 %endif # # test_vanilla %endif sed -i -e '/BFD_VERSION_DATE/s/$/-%(echo %release | sed 's/\.[0-9]*$//')/' bfd/version.h %build 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 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 %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 --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 --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" TARGET_OS=%{TARGET} %else %if "%{TARGET}" == "arm" TARGET_OS=%{TARGET}-suse-linux-gnueabi %else TARGET_OS=%{TARGET}-suse-linux %endif %endif ../configure CFLAGS="${RPM_OPT_FLAGS}" \ --prefix=%{_prefix} \ --with-bugurl=http://bugs.opensuse.org/ \ --with-pkgversion="GNU Binutils; %{DIST}" \ --disable-nls \ --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"; ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"; 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 $RPM_BUILD_ROOT%{_infodir}/configure* $RPM_BUILD_ROOT%{_infodir}/standards.info* rm $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}*) 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}-nesc-as ln -sf ../../bin/%{TARGET}-nesc-as $RPM_BUILD_ROOT%{_prefix}/%{TARGET}/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 "%_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 %postun %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 %preun 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; %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}* %{_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-spu-binutils.spec ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:33.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:33.000000000 +0100 @@ -38,7 +38,7 @@ %else BuildRequires: zlib-devel %endif -Version: 2.23.0 +Version: 2.23.1 Release: 0 # # RUN_TESTS @@ -49,7 +49,7 @@ # # handle test suite failures # -%ifarch alpha %arm hppa mips sh4 %sparc +%ifarch alpha %arm aarch64 hppa mips sh4 %sparc %define make_check_handling true %else # XXX check again @@ -61,12 +61,12 @@ %define make_check_handling false %endif # handle all binary object formats supported by SuSE (and a few more) -%ifarch %ix86 %arm ia64 ppc ppc64 s390 s390x x86_64 +%ifarch %ix86 %arm aarch64 ia64 ppc ppc64 s390 s390x x86_64 %define build_multitarget 1 %else %define build_multitarget 0 %endif -%define target_list alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 s390 s390x sh4 sparc sparc64 x86_64 +%define target_list aarch64 alpha armv5l armv7l armv8l hppa hppa64 i686 ia64 m68k mips powerpc powerpc64 s390 s390x sh4 sparc sparc64 x86_64 # # # @@ -99,7 +99,9 @@ Patch21: binutils-2.22-objalloc.patch Patch90: cross-avr-nesc-as.patch Patch92: cross-avr-omit_section_dynsym.patch +Patch101: aarch64-biarch.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build +PreReq: update-alternatives %description C compiler utilities: ar, as, gprof, ld, nm, objcopy, objdump, ranlib, @@ -112,6 +114,7 @@ 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 %arm x86_64 ppc ppc64 %sparc @@ -123,7 +126,6 @@ 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+ @@ -161,6 +163,7 @@ %patch14 %patch18 %patch21 +%patch101 -p1 %if "%{TARGET}" == "avr" cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h %patch90 @@ -202,6 +205,9 @@ %ifarch %arm EXTRA_TARGETS="$EXTRA_TARGETS,arm-suse-linux-gnueabi" %endif +%ifarch aarch64 +EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux" +%endif %endif %define common_flags CFLAGS="${RPM_OPT_FLAGS}" CXXFLAGS="${RPM_OPT_FLAGS}" \\\ --prefix=%{_prefix} --libdir=%{_libdir} \\\ @@ -252,6 +258,9 @@ %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" TARGET_OS=%{TARGET} %else @@ -306,11 +315,14 @@ 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 -# we could eventually use alternatives for /usr/bin/ld -if test -f $RPM_BUILD_ROOT%{_bindir}/ld.bfd; then - rm $RPM_BUILD_ROOT%{_bindir}/ld - ln -sf ld.bfd $RPM_BUILD_ROOT%{_bindir}/ld; +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"; +ln -s "%_bindir/ld" "%buildroot/%_sysconfdir/alternatives/ld"; +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 @@ -363,23 +375,37 @@
../binutils.lang %endif
-%clean -rm -rf $RPM_BUILD_ROOT - %if 0%{!?cross:1} %post +"%_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 + %postun %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 + +%preun +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; + %endif %files -f binutils.lang @@ -390,6 +416,7 @@ %{_prefix}/%{HOST}/lib/ldscripts %{_libdir}/ldscripts %{_bindir}/* +%ghost %_sysconfdir/alternatives/ld %ifarch %gold_archs %exclude %{_bindir}/gold %exclude %{_bindir}/ld.gold cross-x86_64-binutils.spec: same change ++++++ aarch64-biarch.patch ++++++ Index: binutils-2.23.1/ld/emulparams/aarch64elf.sh =================================================================== --- binutils-2.23.1.orig/ld/emulparams/aarch64elf.sh +++ binutils-2.23.1/ld/emulparams/aarch64elf.sh @@ -33,3 +33,14 @@ ATTRS_SECTIONS='.ARM.attributes 0 : { KE # This sets the stack to the top of the simulator memory (2^19 bytes). STACK_ADDR=0x80000 + +# For Linux modify the default library search path +# to first include a 64-bit specific directory. +case "$target" in + aarch64*-linux*) + case "$EMULATION_NAME" in + *) LIBPATH_SUFFIX=64 ;; + esac + ;; +esac + Index: binutils-2.23.1/ld/emulparams/aarch64linux.sh =================================================================== --- binutils-2.23.1.orig/ld/emulparams/aarch64linux.sh +++ binutils-2.23.1/ld/emulparams/aarch64linux.sh @@ -34,3 +34,14 @@ OTHER_SECTIONS='.note.gnu.arm.ident 0 : ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' # Ensure each PLT entry is aligned to a cache line. PLT=".plt ${RELOCATING-0} : ALIGN(16) { *(.plt)${IREL_IN_PLT+ *(.iplt)} }" + +# For Linux modify the default library search path +# to first include a 64-bit specific directory. +case "$target" in + aarch64*-linux*) + case "$EMULATION_NAME" in + *) LIBPATH_SUFFIX=64 ;; + esac + ;; +esac + ++++++ binutils-2.22-objalloc.patch ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:33.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:33.000000000 +0100 @@ -20,8 +20,8 @@ Index: include/objalloc.h =================================================================== ---- include/objalloc.h (revision 190780) -+++ include/objalloc.h (working copy) +--- include/objalloc.h.orig ++++ include/objalloc.h @@ -1,5 +1,5 @@ /* objalloc.h -- routines to allocate memory for objects - Copyright 1997, 2001 Free Software Foundation, Inc. @@ -29,7 +29,7 @@ Written by Ian Lance Taylor, Cygnus Solutions. This program is free software; you can redistribute it and/or modify it -@@ -71,38 +71,8 @@ +@@ -71,38 +71,8 @@ extern struct objalloc *objalloc_create extern void *_objalloc_alloc (struct objalloc *, unsigned long); @@ -70,8 +70,8 @@ extern void objalloc_free (struct objalloc *); Index: libiberty/objalloc.c =================================================================== ---- libiberty/objalloc.c (revision 190780) -+++ libiberty/objalloc.c (working copy) +--- libiberty/objalloc.c.orig ++++ libiberty/objalloc.c @@ -1,5 +1,5 @@ /* objalloc.c -- routines to allocate memory for objects - Copyright 1997 Free Software Foundation, Inc. @@ -79,7 +79,7 @@ Written by Ian Lance Taylor, Cygnus Solutions. This program is free software; you can redistribute it and/or modify it -@@ -112,8 +112,9 @@ +@@ -112,8 +112,9 @@ objalloc_create (void) /* Allocate space from an objalloc structure. */ PTR @@ -90,7 +90,7 @@ /* We avoid confusion from zero sized objects by always allocating at least 1 byte. */ if (len == 0) -@@ -121,6 +122,11 @@ +@@ -121,6 +122,11 @@ _objalloc_alloc (struct objalloc *o, uns len = (len + OBJALLOC_ALIGN - 1) &~ (OBJALLOC_ALIGN - 1); @@ -102,4 +102,3 @@ if (len <= o->current_space) { o->current_ptr += len; - ++++++ binutils-2.23.0.tar.bz2 -> binutils-2.23.1.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/binutils/binutils-2.23.0.tar.bz2 /work/SRC/openSUSE:Factory/.binutils.new/binutils-2.23.1.tar.bz2 differ: char 11, line 1 ++++++ enable-targets-gold.diff ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:34.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:34.000000000 +0100 @@ -1,6 +1,8 @@ ---- gold/configure.orig 2011-01-11 12:22:06.000000000 +0100 -+++ gold/configure 2011-01-11 12:23:38.000000000 +0100 -@@ -3389,7 +3389,8 @@ +Index: gold/configure +=================================================================== +--- gold/configure.orig ++++ gold/configure +@@ -3405,7 +3405,8 @@ for targ in $target $canon_targets; do . ${srcdir}/configure.tgt if test "$targ_obj" = "UNKNOWN"; then @@ -10,5 +12,3 @@ else targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)" if test "$targ_extra_obj" != ""; then - - ++++++ gold-depend-on-opcodes.diff ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:34.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:34.000000000 +0100 @@ -1,8 +1,8 @@ Index: Makefile.def =================================================================== ---- Makefile.def.orig 2011-07-26 20:48:02.000000000 +0200 -+++ Makefile.def 2011-09-28 15:28:31.000000000 +0200 -@@ -403,6 +403,7 @@ dependencies = { module=configure-gold; +--- Makefile.def.orig ++++ Makefile.def +@@ -404,6 +404,7 @@ dependencies = { module=configure-gold; dependencies = { module=all-gold; on=all-libiberty; }; dependencies = { module=all-gold; on=all-intl; }; dependencies = { module=all-gold; on=all-bfd; }; @@ -12,9 +12,9 @@ dependencies = { module=check-gold; on=all-gas; }; Index: Makefile.in =================================================================== ---- Makefile.in.orig 2011-07-26 20:48:03.000000000 +0200 -+++ Makefile.in 2011-09-28 15:28:31.000000000 +0200 -@@ -42856,6 +42856,14 @@ all-stage3-gold: maybe-all-stage3-bfd +--- Makefile.in.orig ++++ Makefile.in +@@ -42851,6 +42851,14 @@ all-stage3-gold: maybe-all-stage3-bfd all-stage4-gold: maybe-all-stage4-bfd all-stageprofile-gold: maybe-all-stageprofile-bfd all-stagefeedback-gold: maybe-all-stagefeedback-bfd ++++++ ld-dtags.diff ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:34.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:34.000000000 +0100 @@ -1,8 +1,8 @@ -Index: binutils-2.20.0/ld/ld.texinfo +Index: binutils-2.23.1/ld/ld.texinfo =================================================================== ---- binutils-2.20.0.orig/ld/ld.texinfo 2009-11-23 14:02:48.000000000 +0100 -+++ binutils-2.20.0/ld/ld.texinfo 2009-11-23 14:03:08.000000000 +0100 -@@ -2026,7 +2026,7 @@ This linker can create the new dynamic t +--- binutils-2.23.1.orig/ld/ld.texinfo ++++ binutils-2.23.1/ld/ld.texinfo +@@ -2089,7 +2089,7 @@ This linker can create the new dynamic t systems may not understand them. If you specify @option{--enable-new-dtags}, the dynamic tags will be created as needed. If you specify @option{--disable-new-dtags}, no new dynamic tags will be @@ -11,11 +11,11 @@ those options are only available for ELF systems. @kindex --hash-size=@var{number} -Index: binutils-2.20.0/ld/ldmain.c +Index: binutils-2.23.1/ld/ldmain.c =================================================================== ---- binutils-2.20.0.orig/ld/ldmain.c 2009-11-23 14:02:48.000000000 +0100 -+++ binutils-2.20.0/ld/ldmain.c 2009-11-23 14:03:08.000000000 +0100 -@@ -262,6 +262,7 @@ main (int argc, char **argv) +--- binutils-2.23.1.orig/ld/ldmain.c ++++ binutils-2.23.1/ld/ldmain.c +@@ -275,6 +275,7 @@ main (int argc, char **argv) link_info.allow_undefined_version = TRUE; link_info.keep_memory = TRUE; ++++++ pre_checkin.sh ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:34.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:34.000000000 +0100 @@ -2,7 +2,7 @@ # the script takes binutils* and creates the cross-* packages # sh4 is stuck in the testsuite -for arch in hppa hppa64 mips arm i386 x86_64 s390 s390x ppc ppc64 ia64 sparc alpha spu avr; do +for arch in aarch64 hppa hppa64 mips arm i386 x86_64 s390 s390x ppc ppc64 ia64 sparc sparc64 alpha spu avr; do echo -n "Building package for $arch --> cross-$arch-binutils ..." ++++++ s390-biarch.diff ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:34.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:34.000000000 +0100 @@ -1,8 +1,8 @@ Index: ld/emulparams/elf_s390.sh =================================================================== ---- ld/emulparams/elf_s390.sh.orig 2009-11-23 14:02:48.000000000 +0100 -+++ ld/emulparams/elf_s390.sh 2009-11-23 14:03:08.000000000 +0100 -@@ -11,3 +11,18 @@ TEMPLATE_NAME=elf32 +--- ld/emulparams/elf_s390.sh.orig ++++ ld/emulparams/elf_s390.sh +@@ -12,3 +12,18 @@ GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes IREL_IN_PLT= ++++++ testsuite.diff ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:34.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:34.000000000 +0100 @@ -1,7 +1,7 @@ Index: binutils/testsuite/binutils-all/windres/windres.exp =================================================================== ---- binutils/testsuite/binutils-all/windres/windres.exp.orig 2009-11-23 14:02:48.000000000 +0100 -+++ binutils/testsuite/binutils-all/windres/windres.exp 2009-11-23 14:03:09.000000000 +0100 +--- binutils/testsuite/binutils-all/windres/windres.exp.orig ++++ binutils/testsuite/binutils-all/windres/windres.exp @@ -36,6 +36,7 @@ set wr "$WINDRES --include-dir $srcdir/$ if [file exists "$srcdir/../../winsup/w32api/include"] { set wr "$wr --include-dir $srcdir/../../winsup/w32api/include" @@ -12,8 +12,8 @@ Index: ld/testsuite/ld-srec/srec.exp =================================================================== ---- ld/testsuite/ld-srec/srec.exp.orig 2009-11-23 14:02:48.000000000 +0100 -+++ ld/testsuite/ld-srec/srec.exp 2009-11-23 14:03:09.000000000 +0100 +--- ld/testsuite/ld-srec/srec.exp.orig ++++ ld/testsuite/ld-srec/srec.exp @@ -20,6 +20,9 @@ # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, # MA 02110-1301, USA. @@ -26,9 +26,9 @@ proc srec_off { l } { Index: ld/testsuite/ld-undefined/undefined.exp =================================================================== ---- ld/testsuite/ld-undefined/undefined.exp.orig 2009-11-23 14:02:48.000000000 +0100 -+++ ld/testsuite/ld-undefined/undefined.exp 2009-11-23 14:03:09.000000000 +0100 -@@ -136,7 +136,7 @@ setup_xfail "sh64-*-*" +--- ld/testsuite/ld-undefined/undefined.exp.orig ++++ ld/testsuite/ld-undefined/undefined.exp +@@ -134,7 +134,7 @@ setup_xfail "sh64-*-*" # the function. Therefore the line number in the error message is 8 instead # of 9. On 64 bit s/390 this works because of the new brasl instruction that # doesn't need a literal pool entry. ++++++ unit-at-a-time.patch ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:34.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:34.000000000 +0100 @@ -1,8 +1,8 @@ Index: ld/testsuite/ld-selective/selective.exp =================================================================== ---- ld/testsuite/ld-selective/selective.exp.orig 2011-02-10 04:41:11.000000000 +0100 -+++ ld/testsuite/ld-selective/selective.exp 2011-04-19 14:54:34.000000000 +0200 -@@ -59,8 +59,8 @@ set seltests { +--- ld/testsuite/ld-selective/selective.exp.orig ++++ ld/testsuite/ld-selective/selective.exp +@@ -47,8 +47,8 @@ set seltests { {A::foo() B::foo() dropme1() dropme2()} {*-*-*}} } ++++++ use-hashtype-both-by-default.diff ++++++ --- /var/tmp/diff_new_pack.ffeKu5/_old 2012-11-28 15:59:34.000000000 +0100 +++ /var/tmp/diff_new_pack.ffeKu5/_new 2012-11-28 15:59:34.000000000 +0100 @@ -1,7 +1,7 @@ Index: ld/ldmain.c =================================================================== ---- ld/ldmain.c.orig 2012-09-14 14:01:52.209165500 +0200 -+++ ld/ldmain.c 2012-09-14 14:01:52.273165498 +0200 +--- ld/ldmain.c.orig ++++ ld/ldmain.c @@ -279,6 +279,7 @@ main (int argc, char **argv) link_info.combreloc = TRUE; link_info.strip_discarded = TRUE; @@ -12,8 +12,8 @@ /* SVR4 linkers seem to set DT_INIT and DT_FINI based on magic _init Index: ld/testsuite/config/default.exp =================================================================== ---- ld/testsuite/config/default.exp.orig 2012-09-14 14:01:52.223165499 +0200 -+++ ld/testsuite/config/default.exp 2012-09-14 14:01:52.273165498 +0200 +--- ld/testsuite/config/default.exp.orig ++++ ld/testsuite/config/default.exp @@ -23,7 +23,7 @@ # -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org