Hello community, here is the log from the commit of package gcc46 for openSUSE:Factory checked in at Thu Oct 13 12:22:01 CEST 2011. -------- New Changes file: --- /dev/null 2010-08-26 16:28:41.000000000 +0200 +++ /mounts/work_src_done/STABLE/gcc46/cross-arm-gcc-icecream-backend.changes 2011-10-12 17:30:31.000000000 +0200 @@ -0,0 +1,256 @@ +------------------------------------------------------------------- +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. + +------------------------------------------------------------------- +Tue Jun 7 11:38:50 UTC 2011 - rguenther@novell.com + +- Update to gcc-4_6-branch head (r174741). [fate#311972] + +------------------------------------------------------------------- +Mon May 30 15:03:57 UTC 2011 - rguenther@novell.com + +- Fix testsuite building. + +------------------------------------------------------------------- +Fri May 27 08:15:11 UTC 2011 - rguenther@novell.com + +- Drop AVR cross. + +------------------------------------------------------------------- +Tue May 24 12:00:39 UTC 2011 - rguenther@novell.com + +- Switch to GNU ld as LTO plugin linker. + +------------------------------------------------------------------- +Mon May 23 08:53:59 UTC 2011 - rguenther@novell.com + +- Update to gcc-4_6-branch head (r174058). +- Revert: Configure with --with-mode=zarch for s390[x]. [bnc#695102] + +------------------------------------------------------------------- +Tue May 17 10:43:23 UTC 2011 - rguenther@novell.com + +- Fix libffi.pc contents to provide a mandatory description. +- Add pkg-config BuildRequires to libffi building. +- Fixup non-canonical license spellings. + +------------------------------------------------------------------- +Wed May 11 08:13:15 UTC 2011 - rguenther@novell.com + +- Enable icecream and cross compiler builds. + +------------------------------------------------------------------- +Thu May 5 09:33:01 UTC 2011 - rguenther@novell.com + +- Update to gcc-4_6-branch head (r173419). + +------------------------------------------------------------------- +Wed Apr 27 11:38:46 UTC 2011 - rguenther@novell.com + +- Update to gcc-4_6-branch head (r173021). + +------------------------------------------------------------------- +Mon Apr 18 11:58:19 UTC 2011 - rguenther@novell.com + +- Configure with --with-mode=zarch for s390[x]. [fate#312070] + +------------------------------------------------------------------- +Fri Apr 15 14:38:24 UTC 2011 - rguenther@novell.com + +- Update to gcc-4_6-branch head (r172496). + +------------------------------------------------------------------- +Thu Apr 14 13:50:45 UTC 2011 - rguenther@novell.com + +- Change default tuning for s390[x] to z196. [fate#312072] +- Separate optional compiler install from optional compiler + language selection. + +------------------------------------------------------------------- +Mon Mar 28 10:35:30 UTC 2011 - rguenther@novell.com + +- Update to gcc-4_6-branch head (r171596). + * Contains the final 4.6.0 release and a first batch of bugfixes. + +------------------------------------------------------------------- +Tue Mar 22 12:31:34 UTC 2011 - rguenther@novell.com + +- Update to 2nd GCC 4.6.0 release candidate (r171285). + +------------------------------------------------------------------- +Mon Mar 14 14:20:27 UTC 2011 - rguenther@novell.com + +- Update to GCC 4.6.0 release candidate (r170941). + * Changes, New Features and Fixes in GCC 4.6 at + http://gcc.gnu.org/gcc-4.6/changes.html +- Drop to release checking. + +------------------------------------------------------------------- +Tue Mar 8 12:15:59 UTC 2011 - rguenther@novell.com + +- Update to SVN trunk head (r170774). + +------------------------------------------------------------------- +Tue Mar 1 15:45:21 UTC 2011 - rguenther@novell.com + +- Update to SVN trunk head (r170594). + +------------------------------------------------------------------- +Tue Feb 22 12:13:46 UTC 2011 - rguenther@novell.com + +- Update to SVN trunk head (r170394). + +------------------------------------------------------------------- +Thu Feb 10 11:06:41 UTC 2011 - rguenther@novell.com + +- Update to SVN trunk head (r169999). +- Mention the GCC Runtime Library Exception in licenses where appropriate. + +------------------------------------------------------------------- +Thu Jan 27 13:39:57 UTC 2011 - rguenther@novell.com + +- Update to SVN trunk head (r169329). + +------------------------------------------------------------------- +Fri Jan 21 15:56:01 UTC 2011 - rguenther@novell.com + +- Update to SVN trunk head (r169094). + +------------------------------------------------------------------- +Wed Jan 12 16:04:44 UTC 2011 - rguenther@novell.com + +- Update to SVN trunk head (r168717). + +------------------------------------------------------------------- +Tue Jan 11 16:39:03 UTC 2011 - rguenther@novell.com ++++ 59 more lines (skipped) ++++ between /dev/null ++++ and /mounts/work_src_done/STABLE/gcc46/cross-arm-gcc-icecream-backend.changes --- openSUSE:Factory/gcc46/cross-hppa-gcc-icecream-backend.changes 2011-09-23 01:59:05.000000000 +0200 +++ /mounts/work_src_done/STABLE/gcc46/cross-hppa-gcc-icecream-backend.changes 2011-10-12 17:30:31.000000000 +0200 @@ -1,0 +2,52 @@ +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). + +------------------------------------------------------------------- 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 calling whatdependson for head-i586 Old: ---- gcc-4.6.1-20110801.tar.bz2 New: ---- cross-arm-gcc-icecream-backend.changes cross-arm-gcc-icecream-backend.spec gcc-4.6.1-20111012.tar.bz2 gcc46-arm-volatile.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-arm-gcc-icecream-backend.spec ++++++ # # spec file for package cross-arm-gcc-icecream-backend # # Copyright (c) 2011 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/ # # norootforbuild %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 arm-linux %define gcc_icecream 1 Name: cross-arm-gcc-icecream-backend BuildRequires: bison flex gettext-devel glibc-devel-32bit mpc-devel mpfr-devel perl texinfo zlib-devel BuildRequires: cross-arm-binutils %ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc BuildRequires: cloog-devel libelf-devel 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.1_20111012 Release: 1 %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 AutoReqProv: on 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: build-id.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 # 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 # LIBJAVA-DELETE-BEGIN Group: Development/Languages/C and C++ Summary: The GNU C Compiler and Support Files License: GPLv3+ %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-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64" %define CONFIGURE_TARGET powerpc64-linux %endif %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586" %define CONFIGURE_TARGET i586-linux %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 %if 0%{suse_version} > 1100 %patch29 %endif %patch30 %patch51 %patch55 %patch57 %patch60 %patch61 %patch130 %patch140 -p1 %patch141 -p1 %patch150 -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" %if "%{name}" != "gcc46" export PATH=/opt/cross/bin:$PATH %endif # 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 \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %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%{?gcc_target_arch:1} %if 0%{?gcc_icecream:1} --with-as=/opt/cross/%{TARGET_ARCH}-linux/bin/as \ --with-ld=/opt/cross/%{TARGET_ARCH}-linux/bin/ld \ --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 \ %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 \ %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 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 /opt/cross/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 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 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 fi libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%{gcc_dir_version}/*; 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.KwhVSN/_old 2011-10-13 12:21:47.000000000 +0200 +++ /var/tmp/diff_new_pack.KwhVSN/_new 2011-10-13 12:21:47.000000000 +0200 @@ -46,8 +46,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.1_20110801 -Release: 2 +Version: 4.6.1_20111012 +Release: 1 %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/_/-/') @@ -90,6 +90,9 @@ # 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 @@ -140,9 +143,13 @@ %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} @@ -179,6 +186,7 @@ %patch130 %patch140 -p1 %patch141 -p1 +%patch150 -p1 %build # Avoid rebuilding of generated files @@ -362,6 +370,20 @@ --without-system-libunwind \ %endif %endif +%if "%{TARGET_ARCH}" == "armv5tel" + --with-arch=armv5te \ + --with-float=softfp \ + --with-mode=arm \ + --with-abi=aapcs-linux \ +%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 \ +%endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ cross-i386-gcc-icecream-backend.spec: same change cross-ia64-gcc-icecream-backend.spec: same change cross-ppc-gcc-icecream-backend.spec: same change cross-ppc64-gcc-icecream-backend.spec: same change cross-s390-gcc-icecream-backend.spec: same change cross-s390x-gcc-icecream-backend.spec: same change cross-x86_64-gcc-icecream-backend.spec: same change ++++++ gcc46-testresults.spec ++++++ --- /var/tmp/diff_new_pack.KwhVSN/_old 2011-10-13 12:21:47.000000000 +0200 +++ /var/tmp/diff_new_pack.KwhVSN/_new 2011-10-13 12:21:47.000000000 +0200 @@ -46,8 +46,8 @@ %define build_ada 0 %endif -# We don't want to build java on arm -%ifarch mips %arm +# We don't want to build java +%ifarch mips %define build_java 0 %define build_libjava 0 %else @@ -81,7 +81,7 @@ Name: gcc46-testresults BuildRequires: bison flex gettext-devel glibc-devel-32bit mpc-devel mpfr-devel perl texinfo zlib-devel -%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa +%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm BuildRequires: cloog-devel ppl-devel %endif %if %{build_ada} @@ -155,8 +155,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.1_20110801 -Release: 2 +Version: 4.6.1_20111012 +Release: 1 %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/_/-/') @@ -220,6 +220,9 @@ # 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 License: Public Domain, Freeware Summary: Testsuite results @@ -260,9 +263,13 @@ %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} @@ -412,6 +419,7 @@ %patch130 %patch140 -p1 %patch141 -p1 +%patch150 -p1 %build # Avoid rebuilding of generated files @@ -595,6 +603,20 @@ --without-system-libunwind \ %endif %endif +%if "%{TARGET_ARCH}" == "armv5tel" + --with-arch=armv5te \ + --with-float=softfp \ + --with-mode=arm \ + --with-abi=aapcs-linux \ +%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 \ +%endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ ++++++ gcc46.spec ++++++ --- /var/tmp/diff_new_pack.KwhVSN/_old 2011-10-13 12:21:47.000000000 +0200 +++ /var/tmp/diff_new_pack.KwhVSN/_new 2011-10-13 12:21:47.000000000 +0200 @@ -26,8 +26,8 @@ %define build_ada 0 %endif -# We don't want to build java on arm -%ifarch mips %arm +# We don't want to build java +%ifarch mips %define build_java 0 %define build_libjava 0 %else @@ -61,7 +61,7 @@ Name: gcc46 BuildRequires: bison flex gettext-devel glibc-devel-32bit mpc-devel mpfr-devel perl texinfo zlib-devel -%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa +%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm BuildRequires: cloog-devel ppl-devel %endif %if %{build_ada} @@ -135,8 +135,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.1_20110801 -Release: 3 +Version: 4.6.1_20111012 +Release: 1 %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/_/-/') @@ -200,6 +200,9 @@ # 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 @@ -220,7 +223,6 @@ # COMMON-END %package -n gcc46-32bit - Summary: The GNU C Compiler 32bit support Group: Development/Languages/C and C++ AutoReqProv: on @@ -242,7 +244,6 @@ This package contains 32bit support for the GNU Compiler Collection. %package -n gcc46-64bit - Summary: The GNU C Compiler 64bit support Group: Development/Languages/C and C++ AutoReqProv: on @@ -860,12 +861,14 @@ Group: Development/Languages/Fortran AutoReqProv: on Requires: gcc46 = %{version}-%{release} -%ifnarch ppc ppc64 s390 s390x %if 0%{!?build_optional_compiler:1} Requires: libgfortran3 >= %{version}-%{release} +%ifnarch ppc ppc64 s390 s390x %arm Requires: libquadmath0 >= %{version}-%{release} +%endif %else Requires: libgfortran46 = %{version}-%{release} +%ifnarch ppc ppc64 s390 s390x %arm Requires: libquadmath46 = %{version}-%{release} %endif %endif @@ -881,12 +884,14 @@ Group: Development/Languages/Fortran AutoReqProv: on Requires: gcc46 = %{version}-%{release} -%ifnarch ppc ppc64 s390 s390x %if 0%{!?build_optional_compiler:1} Requires: libgfortran3-32bit >= %{version}-%{release} +%ifnarch ppc ppc64 s390 s390x %arm Requires: libquadmath0-32bit >= %{version}-%{release} +%endif %else Requires: libgfortran46-32bit = %{version}-%{release} +%ifnarch ppc ppc64 s390 s390x %arm Requires: libquadmath46-32bit = %{version}-%{release} %endif %endif @@ -902,12 +907,14 @@ Group: Development/Languages/Fortran AutoReqProv: on Requires: gcc46 = %{version}-%{release} -%ifnarch ppc ppc64 s390 s390x %if 0%{!?build_optional_compiler:1} Requires: libgfortran3-64bit >= %{version}-%{release} +%ifnarch ppc ppc64 s390 s390x %arm Requires: libquadmath0-64bit >= %{version}-%{release} +%endif %else Requires: libgfortran46-64bit = %{version}-%{release} +%ifnarch ppc ppc64 s390 s390x %arm Requires: libquadmath46-64bit = %{version}-%{release} %endif %endif @@ -1220,7 +1227,6 @@ %package -n gcc46-gij - Summary: Java Bytecode Interpreter for gcc Group: Development/Libraries/Java Requires: libgcj%{gcj_sover} >= %{version}-%{release} @@ -1378,9 +1384,13 @@ %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} @@ -1530,6 +1540,7 @@ %patch130 %patch140 -p1 %patch141 -p1 +%patch150 -p1 %build # Avoid rebuilding of generated files @@ -1713,6 +1724,20 @@ --without-system-libunwind \ %endif %endif +%if "%{TARGET_ARCH}" == "armv5tel" + --with-arch=armv5te \ + --with-float=softfp \ + --with-mode=arm \ + --with-abi=aapcs-linux \ +%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 \ +%endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ @@ -1904,7 +1929,7 @@ %else %if %{build_fortran} libgfortran \ -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm libquadmath \ %endif %endif @@ -2202,7 +2227,7 @@ # Do so here. mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info %if %{build_fortran} -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info %endif %endif @@ -2234,7 +2259,7 @@ %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz %if %{build_fortran} %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz %endif %endif @@ -2256,7 +2281,7 @@ %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz %if %{build_fortran} %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz %endif %endif @@ -2325,6 +2350,7 @@ %endif %ifarch %arm %{libsubdir}/include/mmintrin.h +%{libsubdir}/include/arm_neon.h %endif %ifarch %ix86 x86_64 %{libsubdir}/include/cross-stdarg.h @@ -2548,7 +2574,7 @@ %versmainlib libgfortranbegin.a -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %{libsubdir}/include/quadmath.h %{libsubdir}/include/quadmath_weak.h %versmainlib libquadmath.a @@ -2570,7 +2596,7 @@ %versbiarchlib libgfortranbegin.a -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %versbiarchlib libquadmath.a %versbiarchlib libquadmath.so @@ -2591,7 +2617,7 @@ %endif -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %files -n libquadmath46 %defattr(-,root,root) @@ -2638,7 +2664,7 @@ %doc %{_infodir}/libgomp%{binsuffix}.info*.gz %if %{build_fortran} %doc %{_infodir}/gfortran%{binsuffix}.info*.gz -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz %endif %endif ++++++ libffi46.spec ++++++ --- /var/tmp/diff_new_pack.KwhVSN/_old 2011-10-13 12:21:48.000000000 +0200 +++ /var/tmp/diff_new_pack.KwhVSN/_new 2011-10-13 12:21:48.000000000 +0200 @@ -45,8 +45,8 @@ %define build_ada 0 %endif -# We don't want to build java on arm -%ifarch mips %arm +# We don't want to build java +%ifarch mips %define build_java 0 %define build_libjava 0 %else @@ -80,7 +80,7 @@ Name: libffi46 BuildRequires: bison flex gettext-devel glibc-devel-32bit mpc-devel mpfr-devel perl texinfo zlib-devel -%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa +%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm BuildRequires: cloog-devel ppl-devel %endif %if %{build_ada} @@ -154,8 +154,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.1_20110801 -Release: 2 +Version: 4.6.1_20111012 +Release: 1 %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/_/-/') @@ -219,6 +219,9 @@ # 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 @@ -368,9 +371,13 @@ %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} @@ -520,6 +527,7 @@ %patch130 %patch140 -p1 %patch141 -p1 +%patch150 -p1 %build # Avoid rebuilding of generated files @@ -703,6 +711,20 @@ --without-system-libunwind \ %endif %endif +%if "%{TARGET_ARCH}" == "armv5tel" + --with-arch=armv5te \ + --with-float=softfp \ + --with-mode=arm \ + --with-abi=aapcs-linux \ +%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 \ +%endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ ++++++ libgcj46.spec ++++++ --- /var/tmp/diff_new_pack.KwhVSN/_old 2011-10-13 12:21:48.000000000 +0200 +++ /var/tmp/diff_new_pack.KwhVSN/_new 2011-10-13 12:21:48.000000000 +0200 @@ -45,8 +45,8 @@ %define build_ada 0 %endif -# We don't want to build java on arm -%ifarch mips %arm +# We don't want to build java +%ifarch mips %define build_java 0 %define build_libjava 0 %else @@ -80,7 +80,7 @@ Name: libgcj46 BuildRequires: bison flex gettext-devel glibc-devel-32bit mpc-devel mpfr-devel perl texinfo zlib-devel -%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa +%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm BuildRequires: cloog-devel ppl-devel %endif %if %{build_ada} @@ -154,8 +154,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 Url: http://gcc.gnu.org/ -Version: 4.6.1_20110801 -Release: 2 +Version: 4.6.1_20111012 +Release: 1 %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/_/-/') @@ -219,6 +219,9 @@ # 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 @@ -315,7 +318,6 @@ %package -n gcc46-gij - Summary: Java Bytecode Interpreter for gcc Group: Development/Libraries/Java Requires: libgcj%{gcj_sover} >= %{version}-%{release} @@ -473,9 +475,13 @@ %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} @@ -625,6 +631,7 @@ %patch130 %patch140 -p1 %patch141 -p1 +%patch150 -p1 %build # Avoid rebuilding of generated files @@ -808,6 +815,20 @@ --without-system-libunwind \ %endif %endif +%if "%{TARGET_ARCH}" == "armv5tel" + --with-arch=armv5te \ + --with-float=softfp \ + --with-mode=arm \ + --with-abi=aapcs-linux \ +%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 \ +%endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ @@ -948,7 +969,7 @@ %else %if %{build_fortran} libgfortran \ -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm libquadmath \ %endif %endif @@ -1170,7 +1191,7 @@ # Do so here. mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info %if %{build_fortran} -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info %endif %endif ++++++ README.First-for.SuSE.packagers ++++++ --- /var/tmp/diff_new_pack.KwhVSN/_old 2011-10-13 12:21:48.000000000 +0200 +++ /var/tmp/diff_new_pack.KwhVSN/_new 2011-10-13 12:21:48.000000000 +0200 @@ -1,25 +1,27 @@ IMPORTANT: Please change gcc.spec.in and then run ./pre_checkin.sh! Do not change gcc.spec directly! - Since GCC comes with a testsuite that runs for quite a long time and that test suite also contains some known failures, we should run the testsuite of GCC whenever the compiler is changed to ensure a high quality compiler. -As the package is now split into two parts, gcc and libgcj, and libgcj -is a leaf package the testsuite is now always run from libgcj. A dummy -package with the testresults, gcc-testresults, is generated from it. +The package is now split into multiple parts, gcc$VER, libgcj$VER, +gcc$VER-testresults and libffi$VER (plus various spec files for +cross and icecream cross compilers). The testsuite is run from +gcc$VER-testresults, a dummy package with the testresults, gcc$VER-testresults, +is generated from it which contains testing logfiles and summary. Before checking in a new compiler, please do the following steps as QA measure to check that the new compiler does not introduce any new failures: -- Run mbuild for all archs for both the gcc and the libgcj subpackages +- Run mbuild for all archs for at least the gcc$VER and the gcc$VER-testresults + subpackages - When mbuild is finished, call /suse/rguenther/bin/compare-testresults.sh mbuild-directory - (for the libgcj build). + (for the gcc$VER-testresults build). The output of that script should not show any failures. If it does, please fix them or discuss this with the gcc package maintainers. ++++++ change_spec ++++++ --- /var/tmp/diff_new_pack.KwhVSN/_old 2011-10-13 12:21:48.000000000 +0200 +++ /var/tmp/diff_new_pack.KwhVSN/_new 2011-10-13 12:21:48.000000000 +0200 @@ -112,9 +112,9 @@ fi -# disabled: mips, sparc, alpha, arm +# disabled: mips, sparc, alpha if test "$do_icecream" = 1 ; then - for arch in hppa i386 x86_64 s390 s390x ppc ppc64 ia64; do + for arch in hppa i386 x86_64 s390 s390x ppc ppc64 ia64 arm; 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; } | ++++++ gcc-4.6.1-20110801.tar.bz2 -> gcc-4.6.1-20111012.tar.bz2 ++++++ openSUSE:Factory/gcc46/gcc-4.6.1-20110801.tar.bz2 /mounts/work_src_done/STABLE/gcc46/gcc-4.6.1-20111012.tar.bz2 differ: char 11, line 1 ++++++ gcc.spec.in ++++++ --- /var/tmp/diff_new_pack.KwhVSN/_old 2011-10-13 12:21:48.000000000 +0200 +++ /var/tmp/diff_new_pack.KwhVSN/_new 2011-10-13 12:21:48.000000000 +0200 @@ -29,8 +29,8 @@ %define build_ada 0 %endif -# We don't want to build java on arm -%ifarch mips %arm +# We don't want to build java +%ifarch mips %define build_java 0 %define build_libjava 0 %else @@ -65,7 +65,7 @@ Name: gcc@base_ver@ BuildRequires: bison flex gettext-devel glibc-devel-32bit mpfr-devel perl texinfo zlib-devel mpc-devel -%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa +%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm BuildRequires: cloog-devel ppl-devel %endif %if %{build_ada} @@ -139,7 +139,7 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64 URL: http://gcc.gnu.org/ -Version: 4.6.1_20110801 +Version: 4.6.1_20111012 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2) @@ -148,22 +148,22 @@ # COMMON-END %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1} -Requires: binutils glibc-devel -Requires: libmpc2 >= 0.8.1 -Requires: cpp@base_ver@ = %{version}-%{release} +Requires: binutils glibc-devel +Requires: libmpc2 >= 0.8.1 +Requires: cpp@base_ver@ = %{version}-%{release} %if 0%{!?build_optional_compiler:1} -Requires: libgcc%{libgcc_s} >= %{version}-%{release} -Requires: libgomp1 >= %{version}-%{release} +Requires: libgcc%{libgcc_s} >= %{version}-%{release} +Requires: libgomp1 >= %{version}-%{release} %if %{build_with_mudflap} -Requires: libmudflap0 >= %{version}-%{release} -Requires: libmudflapth0 >= %{version}-%{release} +Requires: libmudflap0 >= %{version}-%{release} +Requires: libmudflapth0 >= %{version}-%{release} %endif %else -Requires: libgcc@base_ver@ = %{version}-%{release} -Requires: libgomp@base_ver@ = %{version}-%{release} +Requires: libgcc@base_ver@ = %{version}-%{release} +Requires: libgomp@base_ver@ = %{version}-%{release} %endif %if 0%{suse_version} > 1000 -Suggests: gcc@base_ver@-info gcc@base_ver@-locale +Suggests: gcc@base_ver@-info gcc@base_ver@-locale %endif %endif @@ -204,6 +204,9 @@ # 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 @@ -227,19 +230,19 @@ Summary: The GNU C Compiler 32bit support Group: Development/Languages/C and C++ Autoreqprov: on -Requires: gcc@base_ver@ = %{version}-%{release} +Requires: gcc@base_ver@ = %{version}-%{release} %if 0%{!?build_optional_compiler:1} -Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release} -Requires: libgomp1-32bit >= %{version}-%{release} +Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release} +Requires: libgomp1-32bit >= %{version}-%{release} %if %{build_with_mudflap} -Requires: libmudflap0-32bit >= %{version}-%{release} -Requires: libmudflapth0-32bit >= %{version}-%{release} +Requires: libmudflap0-32bit >= %{version}-%{release} +Requires: libmudflapth0-32bit >= %{version}-%{release} %endif %else -Requires: libgcc@base_ver@-32bit = %{version}-%{release} -Requires: libgomp@base_ver@-32bit = %{version}-%{release} +Requires: libgcc@base_ver@-32bit = %{version}-%{release} +Requires: libgomp@base_ver@-32bit = %{version}-%{release} %endif -Requires: glibc-devel-32bit +Requires: glibc-devel-32bit %description -n gcc@base_ver@-32bit This package contains 32bit support for the GNU Compiler Collection. @@ -248,19 +251,19 @@ Summary: The GNU C Compiler 64bit support Group: Development/Languages/C and C++ Autoreqprov: on -Requires: gcc@base_ver@ = %{version}-%{release} +Requires: gcc@base_ver@ = %{version}-%{release} %if 0%{!?build_optional_compiler:1} -Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release} -Requires: libgomp1-64bit >= %{version}-%{release} +Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release} +Requires: libgomp1-64bit >= %{version}-%{release} %if %{build_with_mudflap} -Requires: libmudflap0-64bit >= %{version}-%{release} -Requires: libmudflapth0-64bit >= %{version}-%{release} +Requires: libmudflap0-64bit >= %{version}-%{release} +Requires: libmudflapth0-64bit >= %{version}-%{release} %endif %else -Requires: libgcc@base_ver@-64bit = %{version}-%{release} -Requires: libgomp@base_ver@-64bit = %{version}-%{release} +Requires: libgcc@base_ver@-64bit = %{version}-%{release} +Requires: libgomp@base_ver@-64bit = %{version}-%{release} %endif -Requires: glibc-devel-64bit +Requires: glibc-devel-64bit %description -n gcc@base_ver@-64bit This package contains 64bit support for the GNU Compiler Collection. @@ -270,7 +273,7 @@ License: GPLv3+ Summary: Locale Data for the GNU Compiler Collection Group: Development/Languages/C and C++ -Requires: gcc@base_ver@ = %{version}-%{release} +Requires: gcc@base_ver@ = %{version}-%{release} Autoreqprov: on %description locale @@ -283,8 +286,8 @@ Summary: The GNU C++ Compiler Group: Development/Languages/C and C++ Autoreqprov: on -Requires: gcc@base_ver@ = %{version}-%{release} -Requires: libstdc++@base_ver@-devel = %{version}-%{release} +Requires: gcc@base_ver@ = %{version}-%{release} +Requires: libstdc++@base_ver@-devel = %{version}-%{release} %description c++ This package contains the GNU compiler for C++. @@ -296,13 +299,13 @@ Group: System/Libraries Autoreqprov: on %if 0%{!?build_optional_compiler:1} -Requires: libstdc++6@variant@ >= %{version}-%{release} +Requires: libstdc++6@variant@ >= %{version}-%{release} %else -Requires: libstdc++@base_ver@@variant@ = %{version}-%{release} +Requires: libstdc++@base_ver@@variant@ = %{version}-%{release} %endif -Requires: glibc-devel@variant@ +Requires: glibc-devel@variant@ %ifarch ia64 -Requires: libunwind-devel +Requires: libunwind-devel %endif %description -n libstdc++@base_ver@-devel@variant@ @@ -329,8 +332,8 @@ Summary: C compiler runtime library Group: System/Base %if 0%{!?build_optional_compiler:1} -Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release} -Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release} +Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release} +Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release} Autoreqprov: on %endif @@ -350,8 +353,8 @@ Summary: The GNU compiler collection OpenMP runtime library Group: System/Base %if 0%{!?build_optional_compiler:1} -Provides: libgomp1@variant@ = %{version}-%{release} -Conflicts: libgomp1@variant@ < %{version}-%{release} +Provides: libgomp1@variant@ = %{version}-%{release} +Conflicts: libgomp1@variant@ < %{version}-%{release} Autoreqprov: on %endif @@ -375,8 +378,8 @@ Summary: The standard C++ shared library Group: System/Libraries %if 0%{!?build_optional_compiler:1} -Provides: libstdc++6@variant@ = %{version}-%{release} -Conflicts: libstdc++6@variant@ < %{version}-%{release} +Provides: libstdc++6@variant@ = %{version}-%{release} +Conflicts: libstdc++6@variant@ < %{version}-%{release} Autoreqprov: on %endif @@ -413,8 +416,8 @@ Summary: GNU Objective C Compiler Group: Development/Languages/Other Autoreqprov: on -Requires: gcc@base_ver@ = %{version}-%{release} -Requires: libobjc2@variant@ >= %{version}-%{release} +Requires: gcc@base_ver@ = %{version}-%{release} +Requires: libobjc2@variant@ >= %{version}-%{release} %description objc@variant@ This package contains the GNU Objective C compiler. Objective C is an @@ -427,8 +430,8 @@ License: GPLv3+ <<ex(GCC Runtime Library Exception 3.1) Summary: Library for the GNU Objective C Compiler Group: Development/Libraries/Other -Provides: libobjc2@variant@ = %{version}-%{release} -Conflicts: libobjc2@variant@ < %{version}-%{release} +Provides: libobjc2@variant@ = %{version}-%{release} +Conflicts: libobjc2@variant@ < %{version}-%{release} %description -n libobjc@base_ver@@variant@ The library for the GNU Objective C compiler. @@ -445,8 +448,8 @@ Summary: GNU Objective C++ Compiler Group: Development/Languages/Other Autoreqprov: on -Requires: gcc@base_ver@-objc = %{version}-%{release} -Requires: gcc@base_ver@-c++ = %{version}-%{release} +Requires: gcc@base_ver@-objc = %{version}-%{release} +Requires: gcc@base_ver@-c++ = %{version}-%{release} %description obj-c++ This package contains the GNU Objective C++ compiler. Objective C++ is an @@ -467,8 +470,8 @@ # PACKAGE-BEGIN %package ada@variant@ License: GPLv3+ -Requires: gcc@base_ver@@variant@ = %{version}-%{release} -Requires: libada@base_ver@@variant@ = %{version}-%{release} +Requires: gcc@base_ver@@variant@ = %{version}-%{release} +Requires: libada@base_ver@@variant@ = %{version}-%{release} Summary: GNU Ada95 Compiler Based on GCC (GNAT) Group: Development/Languages/Other Autoreqprov: on @@ -486,10 +489,10 @@ Summary: GNU Ada Runtime Libraries Group: System/Libraries Autoreqprov: on -Provides: libgnarl-4_6@variant@ = %{version}-%{release} -Conflicts: libgnarl-4_6@variant@ < %{version}-%{release} -Provides: libgnat-4_6@variant@ = %{version}-%{release} -Conflicts: libgnat-4_6@variant@ < %{version}-%{release} +Provides: libgnarl-4_6@variant@ = %{version}-%{release} +Conflicts: libgnarl-4_6@variant@ < %{version}-%{release} +Provides: libgnat-4_6@variant@ = %{version}-%{release} +Conflicts: libgnat-4_6@variant@ < %{version}-%{release} %description -n libada@base_ver@@variant@ This package contains the shared libraries required to run programs @@ -512,14 +515,16 @@ Summary: The GNU Fortran Compiler and Support Files Group: Development/Languages/Fortran Autoreqprov: on -Requires: gcc@base_ver@ = %{version}-%{release} -%ifnarch ppc ppc64 s390 s390x +Requires: gcc@base_ver@ = %{version}-%{release} %if 0%{!?build_optional_compiler:1} -Requires: libgfortran3@variant@ >= %{version}-%{release} -Requires: libquadmath0@variant@ >= %{version}-%{release} +Requires: libgfortran3@variant@ >= %{version}-%{release} +%ifnarch ppc ppc64 s390 s390x %arm +Requires: libquadmath0@variant@ >= %{version}-%{release} +%endif %else -Requires: libgfortran@base_ver@@variant@ = %{version}-%{release} -Requires: libquadmath@base_ver@@variant@ = %{version}-%{release} +Requires: libgfortran@base_ver@@variant@ = %{version}-%{release} +%ifnarch ppc ppc64 s390 s390x %arm +Requires: libquadmath@base_ver@@variant@ = %{version}-%{release} %endif %endif @@ -533,8 +538,8 @@ Summary: The GNU Fortran Compiler Runtime Library Group: Development/Languages/Fortran %if 0%{!?build_optional_compiler:1} -Provides: libgfortran3@variant@ = %{version}-%{release} -Conflicts: libgfortran3@variant@ < %{version}-%{release} +Provides: libgfortran3@variant@ = %{version}-%{release} +Conflicts: libgfortran3@variant@ < %{version}-%{release} Autoreqprov: on %endif @@ -555,8 +560,8 @@ Summary: The GNU Fortran Compiler Quadmath Runtime Library Group: Development/Languages/Fortran %if 0%{!?build_optional_compiler:1} -Provides: libquadmath0@variant@ = %{version}-%{release} -Conflicts: libquadmath0@variant@ < %{version}-%{release} +Provides: libquadmath0@variant@ = %{version}-%{release} +Conflicts: libquadmath0@variant@ < %{version}-%{release} Autoreqprov: on %endif @@ -577,10 +582,10 @@ License: GPLv3+ <<ex(GCC Runtime Library Exception 3.1) Summary: The Mudflap Extension Runtime Library Group: Development/Languages/C and C++ -Provides: libmudflap0@variant@ = %{version}-%{release} -Conflicts: libmudflap0@variant@ < %{version}-%{release} -Provides: libmudflapth0@variant@ = %{version}-%{release} -Conflicts: libmudflapth0@variant@ < %{version}-%{release} +Provides: libmudflap0@variant@ = %{version}-%{release} +Conflicts: libmudflap0@variant@ < %{version}-%{release} +Provides: libmudflapth0@variant@ = %{version}-%{release} +Conflicts: libmudflapth0@variant@ < %{version}-%{release} Autoreqprov: on %description -n libmudflap@base_ver@@variant@ @@ -603,12 +608,12 @@ %if 0%{suse_version} > 1000 Recommends: libgcj@base_ver@-jar = %{version}-%{release} %endif -Provides: libgcj%{gcj_sover} = %{version}-%{release} -Conflicts: libgcj%{gcj_sover} < %{version}-%{release} -Provides: libgij%{gcj_sover} = %{version}-%{release} -Conflicts: libgij%{gcj_sover} < %{version}-%{release} -Provides: libgcj-tools%{gcj_sover} = %{version}-%{release} -Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release} +Provides: libgcj%{gcj_sover} = %{version}-%{release} +Conflicts: libgcj%{gcj_sover} < %{version}-%{release} +Provides: libgij%{gcj_sover} = %{version}-%{release} +Conflicts: libgij%{gcj_sover} < %{version}-%{release} +Provides: libgcj-tools%{gcj_sover} = %{version}-%{release} +Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release} Autoreqprov: on %description -n libgcj@base_ver@ @@ -627,8 +632,8 @@ Summary: The GNU Java Compiler Group: Development/Languages/Java Autoreqprov: on -Requires: gcc@base_ver@ = %{version} -Requires: libgcj@base_ver@-devel = %{version}-%{release} +Requires: gcc@base_ver@ = %{version} +Requires: libgcj@base_ver@-devel = %{version}-%{release} %description -n gcc@base_ver@-java The Java compiler from the GCC-tools-suite. @@ -639,16 +644,16 @@ Summary: Fake library for BC-ABI compatibility. Group: Development/Libraries/Java Autoreqprov: on -Provides: libgcj_bc1 = %{version}-%{release} -Conflicts: libgcj_bc1 < %{version}-%{release} +Provides: libgcj_bc1 = %{version}-%{release} +Conflicts: libgcj_bc1 < %{version}-%{release} # libgcj_bc is special in that it just contains a symlink to # a proper libgcj version. So require that library and add # provides for the shlib version as created at link time -Requires: libgcj%{gcj_sover} +Requires: libgcj%{gcj_sover} %ifarch x86_64 ia64 ppc64 s390x sparc64 -Provides: libgcj_bc.so.1()(64bit) +Provides: libgcj_bc.so.1()(64bit) %else -Provides: libgcj_bc.so.1 +Provides: libgcj_bc.so.1 %endif @@ -673,16 +678,16 @@ Summary: Include Files and Libraries mandatory for Development. Group: Development/Libraries/Java Autoreqprov: on -Requires: libstdc++@base_ver@-devel = %{version} -Requires: libgcj%{gcj_sover} >= %{version}-%{release} -Requires: libgcj_bc1 >= %{version}-%{release} -Requires: libgcj@base_ver@-jar = %{version}-%{release} -Requires: gtk2-devel -Requires: libart_lgpl-devel -Requires: glibc-devel -Requires: zlib-devel +Requires: libstdc++@base_ver@-devel = %{version} +Requires: libgcj%{gcj_sover} >= %{version}-%{release} +Requires: libgcj_bc1 >= %{version}-%{release} +Requires: libgcj@base_ver@-jar = %{version}-%{release} +Requires: gtk2-devel +Requires: libart_lgpl-devel +Requires: glibc-devel +Requires: zlib-devel %ifarch ia64 -Requires: libunwind-devel +Requires: libunwind-devel %endif %description -n libgcj@base_ver@-devel @@ -693,7 +698,7 @@ %package -n gcc@base_ver@-gij Summary: Java Bytecode Interpreter for gcc Group: Development/Libraries/Java -Requires: libgcj%{gcj_sover} >= %{version}-%{release} +Requires: libgcj%{gcj_sover} >= %{version}-%{release} Autoreqprov: on %description -n gcc@base_ver@-gij @@ -706,9 +711,9 @@ Summary: Foreign Function Interface library Group: Development/Languages/C and C++ Autoreqprov: on -Provides: g-wrap:/usr/lib/libffi.so.4 -Provides: libffi4@variant@ = %{version}-%{release} -Conflicts: libffi4@variant@ < %{version}-%{release} +Provides: g-wrap:/usr/lib/libffi.so.4 +Provides: libffi4@variant@ = %{version}-%{release} +Conflicts: libffi4@variant@ < %{version}-%{release} %description -n libffi@base_ver@@variant@ A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. @@ -726,9 +731,9 @@ Summary: Foreign Function Interface library development files Group: Development/Languages/C and C++ Autoreqprov: on -Requires: libffi4@variant@ >= %{version}-%{release} -Provides: libffi-devel@variant@ = %{version}-%{release} -Conflicts: libffi-devel@variant@ < %{version}-%{release} +Requires: libffi4@variant@ >= %{version}-%{release} +Provides: libffi-devel@variant@ = %{version}-%{release} +Conflicts: libffi-devel@variant@ < %{version}-%{release} %description -n libffi@base_ver@-devel@variant@ A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. @@ -775,9 +780,13 @@ %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} @@ -929,6 +938,7 @@ %patch130 %patch140 -p1 %patch141 -p1 +%patch150 -p1 %build # Avoid rebuilding of generated files @@ -1112,6 +1122,20 @@ --without-system-libunwind \ %endif %endif +%if "%{TARGET_ARCH}" == "armv5tel" + --with-arch=armv5te \ + --with-float=softfp \ + --with-mode=arm \ + --with-abi=aapcs-linux \ +%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 \ +%endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ @@ -1303,7 +1327,7 @@ %else %if %{build_fortran} libgfortran \ -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm libquadmath \ %endif %endif @@ -1601,7 +1625,7 @@ # Do so here. mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info %if %{build_fortran} -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info %endif %endif @@ -1633,7 +1657,7 @@ %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz %if %{build_fortran} %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz %endif %endif @@ -1655,7 +1679,7 @@ %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz %if %{build_fortran} %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz %endif %endif @@ -1725,6 +1749,7 @@ %endif %ifarch %arm %{libsubdir}/include/mmintrin.h +%{libsubdir}/include/arm_neon.h %endif %ifarch %ix86 x86_64 %{libsubdir}/include/cross-stdarg.h @@ -1903,7 +1928,7 @@ %versmainlib libgfortran.so %versmainlib libgfortran.spec %versmainlib libgfortranbegin.a -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %{libsubdir}/include/quadmath.h %{libsubdir}/include/quadmath_weak.h %versmainlib libquadmath.a @@ -1918,7 +1943,7 @@ %versbiarchlib libgfortran.so %versbiarchlib libgfortran.spec %versbiarchlib libgfortranbegin.a -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %versbiarchlib libquadmath.a %versbiarchlib libquadmath.so %endif @@ -1934,7 +1959,7 @@ %biarchlib libgfortran.so.* %endif -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %files -n libquadmath@base_ver@ %defattr(-,root,root) %mainlib libquadmath.so.* @@ -1971,7 +1996,7 @@ %doc %{_infodir}/libgomp%{binsuffix}.info*.gz %if %{build_fortran} %doc %{_infodir}/gfortran%{binsuffix}.info*.gz -%ifnarch ppc ppc64 s390 s390x +%ifnarch ppc ppc64 s390 s390x %arm %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz %endif %endif ++++++ gcc46-arm-volatile.patch ++++++ diff -ruNa gcc-4.6.0-20110419.orig/gcc/expr.c gcc-4.6.0-20110419/gcc/expr.c --- gcc-4.6.0-20110419.orig/gcc/expr.c 2011-06-08 18:07:06.295571233 +0800 +++ gcc-4.6.0-20110419/gcc/expr.c 2011-06-08 18:40:11.430635015 +0800 @@ -9179,7 +9179,8 @@ && modifier != EXPAND_INITIALIZER) /* If the field is volatile, we always want an aligned access. */ - || (volatilep && flag_strict_volatile_bitfields > 0) + || (volatilep && flag_strict_volatile_bitfields > 0 + && (bitpos % GET_MODE_ALIGNMENT (mode) != 0)) /* If the field isn't aligned enough to fetch as a memref, fetch it as a bit field. */ || (mode1 != BLKmode continue with "q"... Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org