Hello community, here is the log from the commit of package gcc46 for openSUSE:Factory checked in at 2012-03-16 13:10:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gcc46 (Old) and /work/SRC/openSUSE:Factory/.gcc46.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "gcc46", Maintainer is "RGuenther@suse.com" Changes: -------- New Changes file: --- /dev/null 2012-03-04 14:46:25.491534019 +0100 +++ /work/SRC/openSUSE:Factory/.gcc46.new/cross-armv5el-gcc-icecream-backend.changes 2012-03-16 13:10:32.000000000 +0100 @@ -0,0 +1,379 @@ +------------------------------------------------------------------- +Thu Mar 1 14:40:10 UTC 2012 - rguenther@suse.com + +- Update to GCC 4.6.3 release. + +------------------------------------------------------------------- +Mon Feb 27 13:20:21 UTC 2012 - rguenther@suse.com + +- Cleanup icecream environment build. + +------------------------------------------------------------------- +Fri Feb 24 09:09:14 UTC 2012 - rguenther@suse.com + +- Update to GCC 4.6.3 release candidate (r184540). + +------------------------------------------------------------------- +Thu Feb 23 11:23:41 UTC 2012 - rguenther@suse.com + +- Change icecream targets to configure for suse OS. +- Build armv7l and armv5el icecream cross targets. + +------------------------------------------------------------------- +Mon Feb 20 14:32:20 UTC 2012 - rguenther@suse.com + +- Properly disable automatic provides detection of rpm for the shared + library packages of the optional compiler on the SDK. [bnc#746751] + +------------------------------------------------------------------- +Wed Feb 15 11:35:05 UTC 2012 - rguenther@suse.com + +- Adjust for cross-$arch-binutils install location change. + +------------------------------------------------------------------- +Mon Jan 30 13:08:01 UTC 2012 - rguenther@suse.com + +- Drop AWT support from libgcj. [bnc#742935] + +------------------------------------------------------------------- +Thu Jan 26 13:16:49 UTC 2012 - rguenther@suse.com + +- Adjust license tags to follow SPDX conventions. + +------------------------------------------------------------------- +Mon Jan 23 09:28:15 UTC 2012 - rguenther@suse.com + +- Properly use FULLVER in cppbuiltin.c. [bnc#742747] + +------------------------------------------------------------------- +Thu Jan 12 11:34:41 UTC 2012 - rguenther@suse.com + +- Use proper groups for the documentation packages. [bnc#732685] + +------------------------------------------------------------------- +Thu Jan 5 08:47:31 UTC 2012 - rguenther@suse.com + +- When building libffi use make stage1-bubble to build the + C compiler, not make all-gcc. + +------------------------------------------------------------------ +Wed Dec 21 15:24:33 CET 2011 - dmueller@suse.de + +- run all-gcc first, otherwise /xgcc might not exist, so + make all-target-libffi fails to configure (depending on race + conditions) +- apply changes from obs-service-format_spec_file to gcc.spec.in + to make diffing somehow sane: + * Release: is now always 0 + * only one Buildrequires per tag + * Autoreqprov: on is default since ages and unneeded + * Summary: is the first line after %package + * Group comes before other tags + +------------------------------------------------------------------- +Wed Dec 21 13:24:20 UTC 2011 - rguenther@suse.com + +- Fix previous change. + +------------------------------------------------------------------- +Tue Dec 20 16:49:16 CET 2011 - dmueller@suse.de + +- build STAGE1 with -O0 on %arm (otherwise it OOMs) + +------------------------------------------------------------------- +Tue Dec 13 13:19:13 UTC 2011 - rguenther@suse.com + +- Package libstdc++ pretty-printers. [bnc#736249] + +------------------------------------------------------------------- +Mon Dec 12 09:20:51 UTC 2011 - rguenther@suse.com + +- Update to gcc-4_6-branch head (r182222). [bnc#735982] + +------------------------------------------------------------------- +Mon Nov 7 19:55:43 CET 2011 - dmueller@suse.de + +- disable setjmp/longjump exceptions + +------------------------------------------------------------------- +Mon Nov 7 14:42:29 UTC 2011 - adrian@suse.de + +- add pr50193.diff: backport from Andrew for + broken shift patterns on arm + +------------------------------------------------------------------- +Tue Nov 1 16:48:41 CET 2011 - dmueller@suse.de + +- remove build-id.diff and use the included build-id code + +------------------------------------------------------------------- +Wed Oct 26 13:29:40 UTC 2011 - rguenther@suse.com + +- Update to GCC 4.6.2 release. + +------------------------------------------------------------------- +Mon Oct 24 13:23:05 UTC 2011 - rguenther@suse.com + +- Do not depend on gcc45-ada. + +------------------------------------------------------------------- +Fri Oct 21 16:25:23 CEST 2011 - mls@suse.de + +- do not use /usr/src/packages in specfile + +------------------------------------------------------------------- +Wed Oct 12 15:29:12 UTC 2011 - rguenther@suse.com + +- Update to gcc-4_6-branch head (r179856). [bnc#723304] + +------------------------------------------------------------------- +Tue Oct 4 13:48:33 UTC 2011 - adrian@suse.de + +- we will switch to "armv7l" instead of "armv7hl". This is just a + rename to follow architectures as officialy defined, but we keep + hard float with that name + +------------------------------------------------------------------- +Tue Oct 4 09:35:25 UTC 2011 - rguenther@suse.com + +- Fix gcc-fortran dependencies on libquadmath. + +------------------------------------------------------------------- +Sun Oct 2 15:24:07 CEST 2011 - dmueller@suse.de + +- initialize default ABI/cpu on arm properly + +------------------------------------------------------------------- +Fri Sep 30 15:08:51 UTC 2011 - adrian@suse.de + +- enable java for arm + +------------------------------------------------------------------- +Fri Sep 30 10:22:44 UTC 2011 - adrian@suse.de + +- enable cloog for arm + +------------------------------------------------------------------- +Thu Sep 29 09:14:19 UTC 2011 - adrian@suse.de + +- default to hard float for armv7hl + +------------------------------------------------------------------- +Mon Sep 26 10:29:17 CEST 2011 - dmueller@suse.de + +- fix build for %arm targets + +------------------------------------------------------------------- +Mon Sep 26 08:10:46 UTC 2011 - rguenther@suse.com + +- Update to gcc-4_6-branch head (r179180). + +------------------------------------------------------------------- +Fri Sep 9 11:36:19 UTC 2011 - rguenther@suse.com + +- Update to gcc-4_6-branch head (r178725). + +------------------------------------------------------------------- +Thu Sep 1 11:20:20 UTC 2011 - rguenther@suse.com + +- For icecream crosses also build and pack liblto_plugin.so. + +------------------------------------------------------------------- +Mon Aug 1 13:43:37 UTC 2011 - rguenther@novell.com + +- Update to gcc-4_6-branch head (r177033). + +------------------------------------------------------------------- +Wed Jul 6 09:55:09 UTC 2011 - rguenther@novell.com + +- Do not depend on non-existent libquadmath0 for ppc, ppc64, s390 + and s390x. + +------------------------------------------------------------------- +Fri Jul 1 07:19:03 UTC 2011 - rguenther@novell.com + +- Update to gcc-4_6-branch head (r175746). [fate#312149] + * Includes GCC 4.6.1 release. +- Backport -mvzeroupper fixes. ++++ 182 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Factory/.gcc46.new/cross-armv5el-gcc-icecream-backend.changes New Changes file: cross-armv7l-gcc-icecream-backend.changes: same change --- /work/SRC/openSUSE:Factory/gcc46/cross-hppa-gcc-icecream-backend.changes 2012-02-17 15:00:39.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.gcc46.new/cross-hppa-gcc-icecream-backend.changes 2012-03-16 13:10:32.000000000 +0100 @@ -1,0 +2,27 @@ +Thu Mar 1 14:40:10 UTC 2012 - rguenther@suse.com + +- Update to GCC 4.6.3 release. + +------------------------------------------------------------------- +Mon Feb 27 13:20:21 UTC 2012 - rguenther@suse.com + +- Cleanup icecream environment build. + +------------------------------------------------------------------- +Fri Feb 24 09:09:14 UTC 2012 - rguenther@suse.com + +- Update to GCC 4.6.3 release candidate (r184540). + +------------------------------------------------------------------- +Thu Feb 23 11:23:41 UTC 2012 - rguenther@suse.com + +- Change icecream targets to configure for suse OS. +- Build armv7l and armv5el icecream cross targets. + +------------------------------------------------------------------- +Mon Feb 20 14:32:20 UTC 2012 - rguenther@suse.com + +- Properly disable automatic provides detection of rpm for the shared + library packages of the optional compiler on the SDK. [bnc#746751] + +------------------------------------------------------------------- cross-i386-gcc-icecream-backend.changes: same change cross-ia64-gcc-icecream-backend.changes: same change cross-ppc-gcc-icecream-backend.changes: same change cross-ppc64-gcc-icecream-backend.changes: same change cross-s390-gcc-icecream-backend.changes: same change cross-s390x-gcc-icecream-backend.changes: same change cross-x86_64-gcc-icecream-backend.changes: same change gcc46-testresults.changes: same change gcc46.changes: same change libffi46.changes: same change libgcj46.changes: same change Old: ---- cross-arm-gcc-icecream-backend.changes cross-arm-gcc-icecream-backend.spec gcc-4.6.2-20111212.tar.bz2 gcc46-arm-volatile.patch New: ---- cross-armv5el-gcc-icecream-backend.changes cross-armv5el-gcc-icecream-backend.spec cross-armv7l-gcc-icecream-backend.changes cross-armv7l-gcc-icecream-backend.spec gcc-4.6.3-20120301.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-armv5el-gcc-icecream-backend.spec ++++++ # # spec file for package cross-armv5el-gcc-icecream-backend # # 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/ # %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 %define gcc_target_arch armv5el-suse-linux %define gcc_icecream 1 %define binutils_target armv5el %if %{binutils_target} == "armv7l" %define binutils_target arm %endif %if %{binutils_target} == "arm5el" %define binutils_target arm %endif Name: cross-armv5el-gcc-icecream-backend BuildRequires: bison BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit BuildRequires: mpc-devel BuildRequires: mpfr-devel BuildRequires: perl BuildRequires: texinfo BuildRequires: zlib-devel %ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc BuildRequires: cloog-devel BuildRequires: libelf-devel BuildRequires: ppl-devel %endif %ifarch ia64 BuildRequires: libunwind-devel %endif ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.6 # COMMON-END # COMMON-BEGIN BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj46-rpmlintrc Source3: gcc46-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Source6: baselibs.conf Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: gcc-add-defaultsspec.diff Patch8: Wunprototyped-calls.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: pr50193.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN # LIBJAVA-DELETE-BEGIN Summary: The GNU C Compiler and Support Files License: GPL-3.0+ Group: Development/Languages/C and C++ %description Core package for the GNU Compiler Collection, including the C language frontend. Language frontends other than C are split to different sub-packages, namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and gcc-obj-c++. # COMMON-END # COMMON-BEGIN # Define the canonical target and host architecture # %gcc_target_arch is supposed to be the full target triple # %TARGET_ARCH is the canonicalized CPU part # %CONFIGURE_TARGET is the target triple used for --target= %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" %define CONFIGURE_TARGET armv7l-suse-linux-gnueabi %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" %define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %ifarch %sparc %define GCCDIST sparc64-suse-linux %else %ifarch %arm %define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %endif %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %patch29 -p1 %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %patch140 -p1 %patch141 -p1 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Avoid fucking up testsuite results with Java and indirect dispatch export SUSE_ASNEEDED=0 # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --disable-plugin \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --disable-java-awt \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{suse_version} > 1100 --enable-linker-build-id \ %endif %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "armv5tel" --with-arch=armv5te \ --with-float=softfp \ --with-mode=arm \ --with-abi=aapcs-linux \ --disable-sjlj-exceptions \ %endif %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl" --with-arch=armv7-a \ --with-tune=cortex-a9 \ --with-float=hard \ --with-mode=thumb \ --with-abi=aapcs-linux \ --with-fpu=vfpv3-d16 \ --disable-sjlj-exceptions \ %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "sparc64" --with-cpu=ultrasparc \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "sparc" --with-cpu=v8 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z196 --with-arch=z10 \ --with-long-double-128 \ --enable-decimal-float \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z196 --with-arch=z10 \ --with-long-double-128 \ --enable-decimal-float \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ $RPM_BUILD_ROOT/env/usr/bin/gcc %define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog ++++++ cross-armv7l-gcc-icecream-backend.spec ++++++ # # spec file for package cross-armv7l-gcc-icecream-backend # # 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/ # %define build_cp 1 %define build_ada 0 %define build_libjava 0 %define build_java 0 %define build_fortran 0 %define build_objc 0 %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 %define gcc_target_arch armv7l-suse-linux %define gcc_icecream 1 %define binutils_target armv7l %if %{binutils_target} == "armv7l" %define binutils_target arm %endif %if %{binutils_target} == "arm5el" %define binutils_target arm %endif Name: cross-armv7l-gcc-icecream-backend BuildRequires: bison BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit BuildRequires: mpc-devel BuildRequires: mpfr-devel BuildRequires: perl BuildRequires: texinfo BuildRequires: zlib-devel %ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc BuildRequires: cloog-devel BuildRequires: libelf-devel BuildRequires: ppl-devel %endif %ifarch ia64 BuildRequires: libunwind-devel %endif ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.6 # COMMON-END # COMMON-BEGIN BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj46-rpmlintrc Source3: gcc46-rpmlintrc Source4: ecj.jar Source5: README.First-for.SuSE.packagers Source6: baselibs.conf Patch1: gcc-dir-version.patch Patch2: gcc-sles-version.patch Patch3: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch6: suse-record-gcc-opts.diff Patch7: gcc-add-defaultsspec.diff Patch8: Wunprototyped-calls.diff Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff Patch24: tls-no-direct.diff Patch25: pr27880.diff Patch28: pr33763.diff Patch29: pr50193.diff Patch30: gcc43-no-unwind-tables.diff # A set of patches from the RH srpm Patch51: gcc41-ia64-stack-protector.patch Patch55: gcc41-java-slow_pthread_self.patch Patch57: gcc41-ppc32-retaddr.patch # Some patches taken from Debian Patch60: gcc44-textdomain.patch Patch61: gcc44-rename-info-files.patch # Patches for SAP features Patch130: sap303956-uchar.diff # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN # LIBJAVA-DELETE-BEGIN Summary: The GNU C Compiler and Support Files License: GPL-3.0+ Group: Development/Languages/C and C++ %description Core package for the GNU Compiler Collection, including the C language frontend. Language frontends other than C are split to different sub-packages, namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and gcc-obj-c++. # COMMON-END # COMMON-BEGIN # Define the canonical target and host architecture # %gcc_target_arch is supposed to be the full target triple # %TARGET_ARCH is the canonicalized CPU part # %CONFIGURE_TARGET is the target triple used for --target= %if 0%{?gcc_target_arch:1} %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" %define CONFIGURE_TARGET armv7l-suse-linux-gnueabi %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" %define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %ifarch %sparc %define GCCDIST sparc64-suse-linux %else %ifarch %arm %define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %endif %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch1 %patch2 %patch3 %patch5 %patch6 %patch7 %patch8 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch28 %patch29 -p1 %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %patch140 -p1 %patch141 -p1 %build # Avoid rebuilding of generated files contrib/gcc_update --touch # Avoid fucking up testsuite results with Java and indirect dispatch export SUSE_ASNEEDED=0 # Split version file into version used for directories (X.Y) and # version to report with --version (X.Y.Z). # See also gcc-dir-version.patch. # Also decrement the patchlevel version by one if test `cat gcc/DEV-PHASE` == "prerelease"; then ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER else mv gcc/BASE-VER gcc/FULL-VER fi cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'` %ifarch %ix86 # -mcpu is superceded by -mtune but -mtune is not supported by # our bootstrap compiler. -mcpu gives a warning that stops # the build process, so remove it for now. Also remove all other # -march and -mtune flags. They are superseeded by proper # default compiler settings now. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'` %endif %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} # Kill all -march/tune/cpu because that screws building the target libs RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'` %endif # Replace 2 spaces by one finally RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` languages=c %if %{build_cp} languages=$languages,c++ %endif %if %{build_objc} languages=$languages,objc %endif %if %{build_fortran} languages=$languages,fortran %endif %if %{build_objcp} languages=$languages,obj-c++ %endif %if %{build_java} languages=$languages,java %endif %if %{build_ada} languages=$languages,ada %endif J=%{?jobs:%jobs} if test -z "$J"; then J=$(getconf _NPROCESSORS_CONF) JL=$(($J * 2)) else test 1 -gt "$J" && J=1 JL=$(($(getconf _NPROCESSORS_CONF)*2)) fi if test "$J" == "0"; then J=1 fi if test "$JL" == "0"; then JL=1 fi PARALLEL="-j$J -l$JL" # we don't want some miscompiles in the testsuite, or some fault in # the compiler to kill the machine. Hence we limit the amount of memory # by the physical RAM plus half of swap #MEM=$(free -m | awk '/^Mem:/ {print $2}') #SWAP=$(free -m | awk '/^Swap:/ {print $2}') #ulimit -v $(((MEM + SWAP/2)*1024)) # In general we want to ship release checking enabled compilers # and run BETA with checking enabled. #ENABLE_CHECKING="--enable-checking=yes" ENABLE_CHECKING="--enable-checking=release" # Work around tail/head -1 changes export _POSIX2_VERSION=199209 # configure tries to parse include/features.h to detect # if glibc supports SSP. When cross compiling we would need # to install a cross glibc, which we don't, or make the whole # thing point to the native glibc, which is in /, hence the # --with-sysroot=/ %if %{build_ada} # Using the host gnatmake like # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}" # GNATMAKE="gnatmake%{hostsuffix}" # doesn't work due to PR33857, so an un-suffixed gnatmake has to be # available mkdir -p host-tools/bin cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc ln -sf /usr/%{_lib} host-tools/%{_lib} export PATH="`pwd`/host-tools/bin:$PATH" %endif #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} #%else # --enable-threads=posix \ #%endif # --enable-shared \ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \ --enable-ssp \ --disable-libssp \ --disable-plugin \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \ --with-ecj-jar=%{libsubdir}/ecj.jar \ --disable-java-awt \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif %if !%{build_with_mudflap} --disable-libmudflap \ %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-version-specific-runtime-libs \ %if 0%{suse_version} > 1100 --enable-linker-build-id \ %endif %if 0%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-sysroot=/ \ --enable-linux-futex \ %endif %if 0%{?build_static:1} --disable-shared \ %endif %if "%{TARGET_ARCH}" == "spu" --with-sysroot=/usr/spu \ --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \ --with-newlib \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-linux-futex \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "armv5tel" --with-arch=armv5te \ --with-float=softfp \ --with-mode=arm \ --with-abi=aapcs-linux \ --disable-sjlj-exceptions \ %endif %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl" --with-arch=armv7-a \ --with-tune=cortex-a9 \ --with-float=hard \ --with-mode=thumb \ --with-abi=aapcs-linux \ --with-fpu=vfpv3-d16 \ --disable-sjlj-exceptions \ %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --with-cpu=power4 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "sparc64" --with-cpu=ultrasparc \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "sparc" --with-cpu=v8 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-arch-32=i586 \ --with-tune=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z196 --with-arch=z10 \ --with-long-double-128 \ --enable-decimal-float \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z196 --with-arch=z10 \ --with-long-double-128 \ --enable-decimal-float \ %endif --build=%{GCCDIST} # COMMON-END # COMMON-END make %{?jobs:-j%jobs} all-gcc TARGET-gcc="cc1 cc1plus gcc-cross g++ native" %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ $RPM_BUILD_ROOT/env/usr/bin/as install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ $RPM_BUILD_ROOT/env/usr/bin/g++ install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ $RPM_BUILD_ROOT/env/usr/bin/gcc %define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do # Check wether the same library also exists in the parent directory, # and prefer that on the assumption that it is a more generic one. baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'` test -f "$baselib" && lib=$baselib install -s -D $lib $RPM_BUILD_ROOT/env$lib done rm -rf $RPM_BUILD_ROOT/inst cd $RPM_BUILD_ROOT/env tar cvzf ../%{name}_%{_arch}.tar.gz * cd .. mkdir -p usr/share/icecream-envs mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils rm -r env %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) /usr/share/icecream-envs %changelog ++++++ cross-hppa-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -25,12 +25,20 @@ %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 -%define gcc_target_arch hppa-linux +%define gcc_target_arch hppa-suse-linux %define gcc_icecream 1 +%define binutils_target hppa +%if %{binutils_target} == "armv7l" +%define binutils_target arm +%endif +%if %{binutils_target} == "arm5el" +%define binutils_target arm +%endif + Name: cross-hppa-gcc-icecream-backend BuildRequires: bison -BuildRequires: cross-hppa-binutils +BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit @@ -55,7 +63,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -98,9 +106,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -130,13 +135,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -192,7 +203,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files @@ -434,34 +444,29 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{TARGET_ARCH} -ORIG_TARGET=$BUILD_TARGET -# We play funny tricks with the ppc compiler. We want to have it biarch, -# which the powerpc compiler itself doesn't support. So we actually -# configure it as powerpc64 target compiler (i.e. a native cross compiler -# even on ppc), with the default code generation to be powerpc32. -# But this doesn't hide the fact that it's still a cross compiler which -# shows also in various paths -test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc +install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ + $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ + $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ + $RPM_BUILD_ROOT/env/usr/bin/gcc +%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done -if test -f $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so +if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ +libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do ++++++ cross-i386-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -25,12 +25,20 @@ %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 -%define gcc_target_arch i386-linux +%define gcc_target_arch i386-suse-linux %define gcc_icecream 1 +%define binutils_target i386 +%if %{binutils_target} == "armv7l" +%define binutils_target arm +%endif +%if %{binutils_target} == "arm5el" +%define binutils_target arm +%endif + Name: cross-i386-gcc-icecream-backend BuildRequires: bison -BuildRequires: cross-i386-binutils +BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit @@ -55,7 +63,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -98,9 +106,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -130,13 +135,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -192,7 +203,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files @@ -434,34 +444,29 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{TARGET_ARCH} -ORIG_TARGET=$BUILD_TARGET -# We play funny tricks with the ppc compiler. We want to have it biarch, -# which the powerpc compiler itself doesn't support. So we actually -# configure it as powerpc64 target compiler (i.e. a native cross compiler -# even on ppc), with the default code generation to be powerpc32. -# But this doesn't hide the fact that it's still a cross compiler which -# shows also in various paths -test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc +install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ + $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ + $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ + $RPM_BUILD_ROOT/env/usr/bin/gcc +%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done -if test -f $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so +if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ +libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do ++++++ cross-ia64-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -25,12 +25,20 @@ %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 -%define gcc_target_arch ia64-linux +%define gcc_target_arch ia64-suse-linux %define gcc_icecream 1 +%define binutils_target ia64 +%if %{binutils_target} == "armv7l" +%define binutils_target arm +%endif +%if %{binutils_target} == "arm5el" +%define binutils_target arm +%endif + Name: cross-ia64-gcc-icecream-backend BuildRequires: bison -BuildRequires: cross-ia64-binutils +BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit @@ -55,7 +63,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -98,9 +106,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -130,13 +135,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -192,7 +203,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files @@ -434,34 +444,29 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{TARGET_ARCH} -ORIG_TARGET=$BUILD_TARGET -# We play funny tricks with the ppc compiler. We want to have it biarch, -# which the powerpc compiler itself doesn't support. So we actually -# configure it as powerpc64 target compiler (i.e. a native cross compiler -# even on ppc), with the default code generation to be powerpc32. -# But this doesn't hide the fact that it's still a cross compiler which -# shows also in various paths -test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc +install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ + $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ + $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ + $RPM_BUILD_ROOT/env/usr/bin/gcc +%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done -if test -f $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so +if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ +libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do ++++++ cross-ppc-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -25,12 +25,20 @@ %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 -%define gcc_target_arch ppc-linux +%define gcc_target_arch ppc-suse-linux %define gcc_icecream 1 +%define binutils_target ppc +%if %{binutils_target} == "armv7l" +%define binutils_target arm +%endif +%if %{binutils_target} == "arm5el" +%define binutils_target arm +%endif + Name: cross-ppc-gcc-icecream-backend BuildRequires: bison -BuildRequires: cross-ppc-binutils +BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit @@ -55,7 +63,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -98,9 +106,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -130,13 +135,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -192,7 +203,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files @@ -434,34 +444,29 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{TARGET_ARCH} -ORIG_TARGET=$BUILD_TARGET -# We play funny tricks with the ppc compiler. We want to have it biarch, -# which the powerpc compiler itself doesn't support. So we actually -# configure it as powerpc64 target compiler (i.e. a native cross compiler -# even on ppc), with the default code generation to be powerpc32. -# But this doesn't hide the fact that it's still a cross compiler which -# shows also in various paths -test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc +install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ + $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ + $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ + $RPM_BUILD_ROOT/env/usr/bin/gcc +%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done -if test -f $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so +if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ +libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do ++++++ cross-ppc64-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -25,12 +25,20 @@ %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 -%define gcc_target_arch ppc64-linux +%define gcc_target_arch ppc64-suse-linux %define gcc_icecream 1 +%define binutils_target ppc64 +%if %{binutils_target} == "armv7l" +%define binutils_target arm +%endif +%if %{binutils_target} == "arm5el" +%define binutils_target arm +%endif + Name: cross-ppc64-gcc-icecream-backend BuildRequires: bison -BuildRequires: cross-ppc64-binutils +BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit @@ -55,7 +63,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -98,9 +106,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -130,13 +135,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -192,7 +203,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files @@ -434,34 +444,29 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{TARGET_ARCH} -ORIG_TARGET=$BUILD_TARGET -# We play funny tricks with the ppc compiler. We want to have it biarch, -# which the powerpc compiler itself doesn't support. So we actually -# configure it as powerpc64 target compiler (i.e. a native cross compiler -# even on ppc), with the default code generation to be powerpc32. -# But this doesn't hide the fact that it's still a cross compiler which -# shows also in various paths -test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc +install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ + $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ + $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ + $RPM_BUILD_ROOT/env/usr/bin/gcc +%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done -if test -f $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so +if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ +libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do ++++++ cross-s390-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -25,12 +25,20 @@ %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 -%define gcc_target_arch s390-linux +%define gcc_target_arch s390-suse-linux %define gcc_icecream 1 +%define binutils_target s390 +%if %{binutils_target} == "armv7l" +%define binutils_target arm +%endif +%if %{binutils_target} == "arm5el" +%define binutils_target arm +%endif + Name: cross-s390-gcc-icecream-backend BuildRequires: bison -BuildRequires: cross-s390-binutils +BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit @@ -55,7 +63,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -98,9 +106,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -130,13 +135,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -192,7 +203,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files @@ -434,34 +444,29 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{TARGET_ARCH} -ORIG_TARGET=$BUILD_TARGET -# We play funny tricks with the ppc compiler. We want to have it biarch, -# which the powerpc compiler itself doesn't support. So we actually -# configure it as powerpc64 target compiler (i.e. a native cross compiler -# even on ppc), with the default code generation to be powerpc32. -# But this doesn't hide the fact that it's still a cross compiler which -# shows also in various paths -test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc +install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ + $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ + $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ + $RPM_BUILD_ROOT/env/usr/bin/gcc +%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done -if test -f $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so +if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ +libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do ++++++ cross-s390x-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -25,12 +25,20 @@ %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 -%define gcc_target_arch s390x-linux +%define gcc_target_arch s390x-suse-linux %define gcc_icecream 1 +%define binutils_target s390x +%if %{binutils_target} == "armv7l" +%define binutils_target arm +%endif +%if %{binutils_target} == "arm5el" +%define binutils_target arm +%endif + Name: cross-s390x-gcc-icecream-backend BuildRequires: bison -BuildRequires: cross-s390x-binutils +BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit @@ -55,7 +63,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -98,9 +106,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -130,13 +135,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -192,7 +203,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files @@ -434,34 +444,29 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{TARGET_ARCH} -ORIG_TARGET=$BUILD_TARGET -# We play funny tricks with the ppc compiler. We want to have it biarch, -# which the powerpc compiler itself doesn't support. So we actually -# configure it as powerpc64 target compiler (i.e. a native cross compiler -# even on ppc), with the default code generation to be powerpc32. -# But this doesn't hide the fact that it's still a cross compiler which -# shows also in various paths -test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc +install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ + $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ + $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ + $RPM_BUILD_ROOT/env/usr/bin/gcc +%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done -if test -f $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so +if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ +libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do ++++++ cross-x86_64-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -25,12 +25,20 @@ %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 -%define gcc_target_arch x86_64-linux +%define gcc_target_arch x86_64-suse-linux %define gcc_icecream 1 +%define binutils_target x86_64 +%if %{binutils_target} == "armv7l" +%define binutils_target arm +%endif +%if %{binutils_target} == "arm5el" +%define binutils_target arm +%endif + Name: cross-x86_64-gcc-icecream-backend BuildRequires: bison -BuildRequires: cross-x86_64-binutils +BuildRequires: cross-%{binutils_target}-binutils BuildRequires: flex BuildRequires: gettext-devel BuildRequires: glibc-devel-32bit @@ -55,7 +63,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -98,9 +106,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -130,13 +135,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -192,7 +203,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files @@ -434,34 +444,29 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{TARGET_ARCH} -ORIG_TARGET=$BUILD_TARGET -# We play funny tricks with the ppc compiler. We want to have it biarch, -# which the powerpc compiler itself doesn't support. So we actually -# configure it as powerpc64 target compiler (i.e. a native cross compiler -# even on ppc), with the default code generation to be powerpc32. -# But this doesn't hide the fact that it's still a cross compiler which -# shows also in various paths -test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc +install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ + $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ + $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ + $RPM_BUILD_ROOT/env/usr/bin/gcc +%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done -if test -f $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so +if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ +libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do ++++++ gcc46-testresults.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -166,7 +166,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -230,9 +230,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch Summary: Testsuite results License: SUSE-Public-Domain @@ -252,13 +249,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -427,7 +430,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files ++++++ gcc46.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -149,7 +149,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -213,9 +213,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -381,6 +378,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgcc%{libgcc_s} = %{version}-%{release} Conflicts: libgcc%{libgcc_s} < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgcc46 @@ -401,6 +400,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgcc%{libgcc_s}-32bit = %{version}-%{release} Conflicts: libgcc%{libgcc_s}-32bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgcc46-32bit @@ -421,6 +422,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgcc%{libgcc_s}-64bit = %{version}-%{release} Conflicts: libgcc%{libgcc_s}-64bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgcc46-64bit @@ -442,6 +445,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgomp1 = %{version}-%{release} Conflicts: libgomp1 < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgomp46 @@ -466,6 +471,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgomp1-32bit = %{version}-%{release} Conflicts: libgomp1-32bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgomp46-32bit @@ -490,6 +497,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgomp1-64bit = %{version}-%{release} Conflicts: libgomp1-64bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgomp46-64bit @@ -515,6 +524,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libstdc++6 = %{version}-%{release} Conflicts: libstdc++6 < %{version}-%{release} +%else +Autoprov: no %endif %description -n libstdc++46 @@ -536,6 +547,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libstdc++6-32bit = %{version}-%{release} Conflicts: libstdc++6-32bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libstdc++46-32bit @@ -557,6 +570,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libstdc++6-64bit = %{version}-%{release} Conflicts: libstdc++6-64bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libstdc++46-64bit @@ -903,6 +918,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgfortran3 = %{version}-%{release} Conflicts: libgfortran3 < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgfortran46 @@ -924,6 +941,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgfortran3-32bit = %{version}-%{release} Conflicts: libgfortran3-32bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgfortran46-32bit @@ -945,6 +964,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgfortran3-64bit = %{version}-%{release} Conflicts: libgfortran3-64bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgfortran46-64bit @@ -962,11 +983,13 @@ # PACKAGE-BEGIN %package -n libquadmath46 Summary: The GNU Fortran Compiler Quadmath Runtime Library -License: LGPL-2.1+ +License: LGPL-2.1 Group: Development/Languages/Fortran %if 0%{!?build_optional_compiler:1} Provides: libquadmath0 = %{version}-%{release} Conflicts: libquadmath0 < %{version}-%{release} +%else +Autoprov: no %endif %description -n libquadmath46 @@ -984,11 +1007,13 @@ # PACKAGE-BEGIN %package -n libquadmath46-32bit Summary: The GNU Fortran Compiler Quadmath Runtime Library -License: LGPL-2.1+ +License: LGPL-2.1 Group: Development/Languages/Fortran %if 0%{!?build_optional_compiler:1} Provides: libquadmath0-32bit = %{version}-%{release} Conflicts: libquadmath0-32bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libquadmath46-32bit @@ -1006,11 +1031,13 @@ # PACKAGE-BEGIN %package -n libquadmath46-64bit Summary: The GNU Fortran Compiler Quadmath Runtime Library -License: LGPL-2.1+ +License: LGPL-2.1 Group: Development/Languages/Fortran %if 0%{!?build_optional_compiler:1} Provides: libquadmath0-64bit = %{version}-%{release} Conflicts: libquadmath0-64bit < %{version}-%{release} +%else +Autoprov: no %endif %description -n libquadmath46-64bit @@ -1304,13 +1331,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -1479,7 +1512,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files ++++++ libffi46.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -165,7 +165,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -229,9 +229,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # PACKAGE-BEGIN @@ -351,13 +348,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -526,7 +529,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files ++++++ libgcj46.spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -165,7 +165,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -229,9 +229,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -451,13 +448,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -626,7 +629,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files ++++++ change_spec ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -127,7 +127,7 @@ # disabled: mips, sparc, alpha if test "$do_icecream" = 1 ; then - for arch in hppa i386 x86_64 s390 s390x ppc ppc64 ia64 arm; do + for arch in hppa i386 x86_64 s390 s390x ppc ppc64 ia64 armv7l armv5el; do { sed -n -e '1,/COMMON-BEGIN/p' cross-icecream.spec.in sed -n -e '/COMMON-BEGIN/,/COMMON-END/p' $outfile sed -n -e '/COMMON-END/,$p' cross-icecream.spec.in; } | ++++++ cross-icecream.spec.in ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -19,12 +19,20 @@ %define build_objcp 0 %define build_nof 0 %define build_with_mudflap 0 -%define gcc_target_arch @cross_arch@-linux +%define gcc_target_arch @cross_arch@-suse-linux %define gcc_icecream 1 +%define binutils_target @cross_arch@ +%if %{binutils_target} == "armv7l" +%define binutils_target arm +%endif +%if %{binutils_target} == "arm5el" +%define binutils_target arm +%endif + Name: cross-@cross_arch@-gcc-icecream-backend BuildRequires: bison flex gettext-devel glibc-devel-32bit mpfr-devel perl texinfo zlib-devel mpc-devel -BuildRequires: cross-@cross_arch@-binutils +BuildRequires: cross-%{binutils_target}-binutils %ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc BuildRequires: cloog-devel ppl-devel libelf-devel %endif @@ -42,34 +50,29 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{TARGET_ARCH} -ORIG_TARGET=$BUILD_TARGET -# We play funny tricks with the ppc compiler. We want to have it biarch, -# which the powerpc compiler itself doesn't support. So we actually -# configure it as powerpc64 target compiler (i.e. a native cross compiler -# even on ppc), with the default code generation to be powerpc32. -# But this doesn't hide the fact that it's still a cross compiler which -# shows also in various paths -test "$BUILD_TARGET" = powerpc && BUILD_TARGET=powerpc64 make -C gcc DESTDIR=$RPM_BUILD_ROOT/inst install-driver install-common make DESTDIR=$RPM_BUILD_ROOT/inst maybe-install-lto-plugin # But the assembler comes from the cross-binutils, and hence is _not_ # named funnily, not even on ppc, so there we need the original target -install -s -D %{_prefix}/bin/${ORIG_TARGET}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ -install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/${BUILD_TARGET}-linux-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc +install -s -D %{_prefix}/bin/%{binutils_target}-linux-as \ + $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ \ + $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc \ + $RPM_BUILD_ROOT/env/usr/bin/gcc +%define targetlibsubdir %{_libdir}/gcc/%{CONFIGURE_TARGET}/%{gcc_dir_version} for back in cc1 cc1plus; do - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/$back + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/$back \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/$back done -if test -f $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so; then - install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so \ - $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/liblto_plugin.so +if test -f $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so; then + install -s -D $RPM_BUILD_ROOT/inst%{targetlibsubdir}/liblto_plugin.so \ + $RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so fi -libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; do \ +libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ done | sort -u ` for lib in $libs; do ++++++ gcc-4.6.2-20111212.tar.bz2 -> gcc-4.6.3-20120301.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/gcc46/gcc-4.6.2-20111212.tar.bz2 /work/SRC/openSUSE:Factory/.gcc46.new/gcc-4.6.3-20120301.tar.bz2 differ: char 11, line 1 ++++++ gcc.spec.in ++++++ --- /var/tmp/diff_new_pack.9BQ9oR/_old 2012-03-16 13:10:40.000000000 +0100 +++ /var/tmp/diff_new_pack.9BQ9oR/_new 2012-03-16 13:10:40.000000000 +0100 @@ -152,7 +152,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: http://gcc.gnu.org/ -Version: 4.6.2_20111212 +Version: 4.6.3_20120301 Release: 0 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -216,9 +216,6 @@ # Patches for AMD features Patch140: amd-save-the-initial-options-after-checking-vzeroupper.patch Patch141: amd-ix86_reorg-run-move_or_dele.patch -# ARM & Qemu build fixes -# http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html -Patch150: gcc46-arm-volatile.patch # GCC-TESTSUITE-DELETE-BEGIN # LIBFFI-DELETE-BEGIN @@ -340,6 +337,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release} Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgcc@base_ver@@variant@ @@ -360,6 +359,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgomp1@variant@ = %{version}-%{release} Conflicts: libgomp1@variant@ < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgomp@base_ver@@variant@ @@ -384,6 +385,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libstdc++6@variant@ = %{version}-%{release} Conflicts: libstdc++6@variant@ < %{version}-%{release} +%else +Autoprov: no %endif %description -n libstdc++@base_ver@@variant@ @@ -537,6 +540,8 @@ %if 0%{!?build_optional_compiler:1} Provides: libgfortran3@variant@ = %{version}-%{release} Conflicts: libgfortran3@variant@ < %{version}-%{release} +%else +Autoprov: no %endif %description -n libgfortran@base_ver@@variant@ @@ -553,11 +558,13 @@ # PACKAGE-BEGIN %package -n libquadmath@base_ver@@variant@ Summary: The GNU Fortran Compiler Quadmath Runtime Library -License: LGPLv2.1+ +License: LGPL-2.1 Group: Development/Languages/Fortran %if 0%{!?build_optional_compiler:1} Provides: libquadmath0@variant@ = %{version}-%{release} Conflicts: libquadmath0@variant@ < %{version}-%{release} +%else +Autoprov: no %endif %description -n libquadmath@base_ver@@variant@ @@ -698,7 +705,7 @@ # PACKAGE-BEGIN %package -n libffi@base_ver@@variant@ Summary: Foreign Function Interface library -License: BSD3c +License: BSD-3-Clause Group: Development/Languages/C and C++ Provides: g-wrap:/usr/lib/libffi.so.4 Provides: libffi4@variant@ = %{version}-%{release} @@ -717,7 +724,7 @@ # PACKAGE-BEGIN %package -n libffi@base_ver@-devel@variant@ Summary: Foreign Function Interface library development files -License: BSD 3-Clause +License: BSD-3-Clause Group: Development/Languages/C and C++ Requires: libffi4@variant@ >= %{version}-%{release} Provides: libffi-devel@variant@ = %{version}-%{release} @@ -730,7 +737,7 @@ %package -n gcc@base_ver@-testresults # GCC-TESTSUITE-DELETE-END Summary: Testsuite results -License: Public Domain, Freeware +License: SUSE-Public-Domain Group: Development/Languages/C and C++ %description -n gcc@base_ver@-testresults @@ -747,13 +754,19 @@ %define CONFIGURE_TARGET %{gcc_target_arch} %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" -%define CONFIGURE_TARGET powerpc64-linux +%define CONFIGURE_TARGET powerpc64-suse-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" -%define CONFIGURE_TARGET i586-linux +%define CONFIGURE_TARGET i586-suse-linux +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l" +%define CONFIGURE_TARGET armv7l-suse-linux-gnueabi +%endif +%if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el" +%define CONFIGURE_TARGET armv5el-suse-linux-gnueabi %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;") @@ -924,7 +937,6 @@ %patch130 %patch140 -p1 %patch141 -p1 -%patch150 -p1 %build # Avoid rebuilding of generated files -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org