Hello community, here is the log from the commit of package gcc43 checked in at Fri Nov 9 01:25:43 CET 2007. -------- New Changes file: --- /dev/null 2006-09-20 18:56:23.000000000 +0200 +++ /mounts/work_src_done/STABLE/gcc43/cross-alpha-gcc-icecream-backend.changes 2007-11-08 13:11:28.000000000 +0100 @@ -0,0 +1,216 @@ +------------------------------------------------------------------- +Thu Nov 8 13:11:19 CET 2007 - rguenther@suse.de + +- Enable icecream backends. + +------------------------------------------------------------------- +Mon Nov 5 23:51:31 CET 2007 - rguenther@suse.de + +- Fix ia64 stack-protector patch. +- Add patch for PR32260. + +------------------------------------------------------------------- +Tue Oct 30 11:21:21 CET 2007 - rguenther@suse.de + +- Fix rpmlint override files. + +------------------------------------------------------------------- +Mon Oct 29 14:30:29 CET 2007 - rguenther@suse.de + +- Add patch for PR33871, linker errors with anonymous namespaces and + typeinfo. + +------------------------------------------------------------------- +Wed Oct 24 17:41:04 CEST 2007 - rguenther@suse.de + +- Add patch for PR33870, sqlite miscompile. +- Add patch for PR33868, memory usage regression on glibc testsuite. + +------------------------------------------------------------------- +Thu Oct 18 15:59:04 CEST 2007 - rguenther@suse.de + +- Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo + symbol in static libgcc on ia64. +- Add patch for PR33168, fixes ppc64 bootstrap failure. +- Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. +- Work around PR33857, allow building Ada with old version alone. + +------------------------------------------------------------------- +Tue Oct 16 13:01:14 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r129378). + +------------------------------------------------------------------- +Mon Oct 15 17:33:19 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r129351). + +------------------------------------------------------------------- +Fri Oct 12 14:47:41 CEST 2007 - rguenther@suse.de + +- Package modified eclipse frontent jar. +- Remove ecj-bootstrap BuildRequires. + +------------------------------------------------------------------- +Thu Oct 11 11:10:41 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r129228). + +------------------------------------------------------------------- +Tue Oct 9 16:18:27 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r129166). +- Add patch for PR33692. + +------------------------------------------------------------------- +Mon Oct 8 17:30:10 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r129130). + +------------------------------------------------------------------- +Tue Oct 2 15:06:34 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r128956). +- Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker + version detection. + +------------------------------------------------------------------- +Mon Oct 1 13:31:51 CEST 2007 - rguenther@suse.de + +- Disable ada for ia64. + +------------------------------------------------------------------- +Thu Sep 27 17:05:11 CEST 2007 - rguenther@suse.de + +- Add patch for PR33552, also fixes reload failure for i586 glibc. + +------------------------------------------------------------------- +Wed Sep 26 13:14:08 CEST 2007 - rguenther@suse.de + +- Add patch for PR30375 and PR33560. + +------------------------------------------------------------------- +Mon Sep 24 16:02:41 CEST 2007 - rguenther@suse.de + +- Fix binutils version detection. + +------------------------------------------------------------------- +Fri Sep 21 14:44:23 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r128649). +- Add patch for PR33146. + +------------------------------------------------------------------- +Mon Sep 17 12:02:45 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r128539). +- Drop patch for PR32756. +- Revert r127960. + +------------------------------------------------------------------- +Thu Aug 30 11:59:40 CEST 2007 - rguenther@suse.de + +- Add patch for PR32756. + +------------------------------------------------------------------- +Fri Aug 24 18:18:12 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r127773). + +------------------------------------------------------------------- +Fri Aug 24 17:34:01 CEST 2007 - rguenther@suse.de + +- Allow disabling of C++ and ObjC. +- Add rpmlint exceptions for libraries. + +------------------------------------------------------------------- +Mon Aug 20 17:21:45 CEST 2007 - rguenther@suse.de + +- Delete fix-included sound headers. + +------------------------------------------------------------------- +Wed Jul 25 17:34:25 CEST 2007 - rguenther@suse.de + +- Update with specfile changes that went into the gcc42 package. +- Update to SVN trunk head (r126913). + +------------------------------------------------------------------- +Wed May 9 15:58:01 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r124570). +- Add unzip BuildRequires for libjava. +- No longer package precompiled headers for libstdc++. + +------------------------------------------------------------------- +Tue Mar 27 13:03:55 CEST 2007 - rguenther@suse.de + +- Update to SVN trunk head (r123255). +- Remove %versionspecificlibs stuff. + +------------------------------------------------------------------- +Thu Nov 16 18:03:27 CET 2006 - rguenther@suse.de + +- Update to SVN 4.2 branch head. +- Remove patch for PR26898 again. + +------------------------------------------------------------------- +Fri Oct 20 11:33:38 CEST 2006 - rguenther@suse.de + +- Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. +- Fix libgcj.pc install. +- Update AMD-0201 patch. + +------------------------------------------------------------------- +Tue Oct 17 12:19:53 CEST 2006 - rguenther@suse.de + +- Update to SVN head. +- Add AMD-0201. +- Add other minor improvements. + +------------------------------------------------------------------- +Tue Sep 19 17:08:22 CEST 2006 - rguenther@suse.de + +- New gcc42-gij package. +- Adjust libgcj so version. +- Add proper Obsoletes to virtual Provides and gcc41 packages to + make rpm install work. +- Kill @gcc_suffix@. + +------------------------------------------------------------------- +Mon Sep 18 17:45:00 CEST 2006 - rguenther@suse.de + +- Update to SVN head. + +------------------------------------------------------------------- +Mon Sep 4 11:20:11 CEST 2006 - rguenther@suse.de + +- Fix libgcj packaging. +- Run the testsuite from the libgcj package and package results + in gcc42-testresults. + +------------------------------------------------------------------- +Tue Aug 29 16:58:29 CEST 2006 - rguenther@suse.de + +- Update to SVN head. +- Remove patch for bogus warning which is fixed upstream already. +- Fix URL for bugreporting, use http://bugs.opensuse.org instead of + http://www.suse.de/feedback. ++++ 19 more lines (skipped) ++++ between /dev/null ++++ and /mounts/work_src_done/STABLE/gcc43/cross-alpha-gcc-icecream-backend.changes New Changes file: cross-arm-gcc-icecream-backend.changes: same change New Changes file: cross-hppa-gcc-icecream-backend.changes: same change New Changes file: cross-i386-gcc-icecream-backend.changes: same change New Changes file: cross-ia64-gcc-icecream-backend.changes: same change New Changes file: cross-ppc64-gcc-icecream-backend.changes: same change New Changes file: cross-ppc-gcc-icecream-backend.changes: same change New Changes file: cross-s390-gcc-icecream-backend.changes: same change New Changes file: cross-s390x-gcc-icecream-backend.changes: same change New Changes file: cross-x86_64-gcc-icecream-backend.changes: same change --- gcc43/gcc43.changes 2007-11-05 23:51:57.000000000 +0100 +++ /mounts/work_src_done/STABLE/gcc43/gcc43.changes 2007-11-08 13:11:28.000000000 +0100 @@ -1,0 +2,5 @@ +Thu Nov 8 13:11:19 CET 2007 - rguenther@suse.de + +- Enable icecream backends. + +------------------------------------------------------------------- libgcj43.changes: same change New: ---- cross-alpha-gcc-icecream-backend.changes cross-alpha-gcc-icecream-backend.spec cross-arm-gcc-icecream-backend.changes cross-arm-gcc-icecream-backend.spec cross-hppa-gcc-icecream-backend.changes cross-hppa-gcc-icecream-backend.spec cross-i386-gcc-icecream-backend.changes cross-i386-gcc-icecream-backend.spec cross-ia64-gcc-icecream-backend.changes cross-ia64-gcc-icecream-backend.spec cross-ppc64-gcc-icecream-backend.changes cross-ppc64-gcc-icecream-backend.spec cross-ppc-gcc-icecream-backend.changes cross-ppc-gcc-icecream-backend.spec cross-s390-gcc-icecream-backend.changes cross-s390-gcc-icecream-backend.spec cross-s390x-gcc-icecream-backend.changes cross-s390x-gcc-icecream-backend.spec cross-x86_64-gcc-icecream-backend.changes cross-x86_64-gcc-icecream-backend.spec ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-alpha-gcc-icecream-backend.spec ++++++ # # spec file for package cross-alpha-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-alpha-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch alpha-linux %define gcc_icecream 1 BuildRequires: cross-alpha-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ cross-arm-gcc-icecream-backend.spec ++++++ # # spec file for package cross-arm-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-arm-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch arm-linux %define gcc_icecream 1 BuildRequires: cross-arm-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ cross-hppa-gcc-icecream-backend.spec ++++++ # # spec file for package cross-hppa-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-hppa-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch hppa-linux %define gcc_icecream 1 BuildRequires: cross-hppa-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ cross-i386-gcc-icecream-backend.spec ++++++ # # spec file for package cross-i386-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-i386-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch i386-linux %define gcc_icecream 1 BuildRequires: cross-i386-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ cross-ia64-gcc-icecream-backend.spec ++++++ # # spec file for package cross-ia64-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-ia64-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch ia64-linux %define gcc_icecream 1 BuildRequires: cross-ia64-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ cross-ppc64-gcc-icecream-backend.spec ++++++ # # spec file for package cross-ppc64-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-ppc64-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch ppc64-linux %define gcc_icecream 1 BuildRequires: cross-ppc64-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ cross-ppc-gcc-icecream-backend.spec ++++++ # # spec file for package cross-ppc-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-ppc-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch ppc-linux %define gcc_icecream 1 BuildRequires: cross-ppc-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ cross-s390-gcc-icecream-backend.spec ++++++ # # spec file for package cross-s390-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-s390-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch s390-linux %define gcc_icecream 1 BuildRequires: cross-s390-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ cross-s390x-gcc-icecream-backend.spec ++++++ # # spec file for package cross-s390x-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-s390x-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch s390x-linux %define gcc_icecream 1 BuildRequires: cross-s390x-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ cross-x86_64-gcc-icecream-backend.spec ++++++ # # spec file for package cross-x86_64-gcc-icecream-backend (Version 4.3.0_20071016) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cross-x86_64-gcc-icecream-backend %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 gcc_for_opt 0 %define gcc_target_arch x86_64-linux %define gcc_icecream 1 BuildRequires: cross-x86_64-binutils glibc-devel-32bit BuildRequires: gmp-devel mpfr-devel BuildRequires: bison BuildRequires: flex ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross %define _binary_payload w.ufdio # COMMON-BEGIN # COMMON-BEGIN %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT Version: 4.3.0_20071016 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 # COMMON-END # COMMON-BEGIN Group: Development/Languages/C and C++ AutoReqProv: on Summary: The GNU C Compiler and Support Files BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2 Source1: change_spec Source2: libgcj43-rpmlintrc Source3: gcc43-rpmlintrc Source4: ecj.jar Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch 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 Patch26: pr33168.diff Patch27: pr33608.diff Patch28: pr33870.diff Patch29: pr33868.diff Patch30: pr33871.diff Patch31: pr32260.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 # LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you will not be able to compile: binutils and glibc-devel. Compiled with support for Ada, C, C++, Fortran77, Java, and Objective-C. Authors: -------- The GCC team. %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/") %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc" %define CONFIGURE_TARGET powerpc64-linux %endif %else %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %endif %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/") %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac) %ifarch ppc %define GCCDIST powerpc64-suse-linux %else %define GCCDIST %{HOST_ARCH}-suse-linux %endif %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_version} %define gxxinclude %{_prefix}/include/c++/%{gcc_version} # COMMON-END # COMMON-BEGIN %prep %setup -q -n gcc-%{gcc_version}%{snapshot_date} %patch2 %patch5 %patch7 %patch10 %if !%{build_nof} %patch12 %endif %patch23 %patch24 %patch25 %patch26 %patch27 %patch28 %patch29 %patch30 %patch31 %patch51 %patch55 %patch57 %build # Avoid conflict with commercial libjawt.so #sed -i -e 's/libjawt/libgcjawt/g' libjava/Makefile.{am,in} # Avoid rebuilding of generated files contrib/gcc_update --touch 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'` %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. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=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}" != "gcc43" 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} \ --with-local-prefix=/usr/local \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --libexecdir=%{_libdir} \ --enable-languages=$languages \ $ENABLE_CHECKING \ --with-gxx-include-dir=/usr/include/c++/%{gcc_version} \ --enable-ssp \ --disable-libssp \ --with-bugurl="http://bugs.opensuse.org/" \ --with-pkgversion="SUSE Linux" \ %if !%{build_libjava} --disable-libgcj \ %else --with-ecj-jar=%{libsubdir}/ecj.jar \ --enable-java-awt=gtk \ --enable-gtk-cairo \ %if !%{biarch_libjava} --disable-libjava-multilib \ %endif %endif --with-slibdir=/%{_lib} \ --with-system-zlib \ --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ %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=/ \ %endif %if 0%{?build_static:1} --disable-shared \ %endif --disable-nls \ --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ %ifarch ia64 --with-system-libunwind \ %else --without-system-libunwind \ %endif %endif %if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif %if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif %if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %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 # 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 for back in cc1 cc1plus; do install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back \ $RPM_BUILD_ROOT/env%{_libdir}/gcc/${BUILD_TARGET}-linux/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; 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 * Thu Nov 08 2007 - rguenther@suse.de - Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. * Tue Oct 30 2007 - rguenther@suse.de - Fix rpmlint override files. * Mon Oct 29 2007 - rguenther@suse.de - Add patch for PR33871, linker errors with anonymous namespaces and typeinfo. * Wed Oct 24 2007 - rguenther@suse.de - Add patch for PR33870, sqlite miscompile. - Add patch for PR33868, memory usage regression on glibc testsuite. * Thu Oct 18 2007 - rguenther@suse.de - Add back patch for PR27880. Fixes missing _Unwind_GetIPInfo symbol in static libgcc on ia64. - Add patch for PR33168, fixes ppc64 bootstrap failure. - Add patch for PR33608, fixes Ada build on ia64. Re-enable Ada for ia64. - Work around PR33857, allow building Ada with old version alone. * Tue Oct 16 2007 - rguenther@suse.de - Update to SVN trunk head (r129378). * Mon Oct 15 2007 - rguenther@suse.de - Update to SVN trunk head (r129351). * Fri Oct 12 2007 - rguenther@suse.de - Package modified eclipse frontent jar. - Remove ecj-bootstrap BuildRequires. * Thu Oct 11 2007 - rguenther@suse.de - Update to SVN trunk head (r129228). * Tue Oct 09 2007 - rguenther@suse.de - Update to SVN trunk head (r129166). - Add patch for PR33692. * Mon Oct 08 2007 - rguenther@suse.de - Update to SVN trunk head (r129130). * Tue Oct 02 2007 - rguenther@suse.de - Update to SVN trunk head (r128956). - Obsoletes fixes PR33146, PR33552, PR30375, PR33560 and linker version detection. * Mon Oct 01 2007 - rguenther@suse.de - Disable ada for ia64. * Thu Sep 27 2007 - rguenther@suse.de - Add patch for PR33552, also fixes reload failure for i586 glibc. * Wed Sep 26 2007 - rguenther@suse.de - Add patch for PR30375 and PR33560. * Mon Sep 24 2007 - rguenther@suse.de - Fix binutils version detection. * Fri Sep 21 2007 - rguenther@suse.de - Update to SVN trunk head (r128649). - Add patch for PR33146. * Mon Sep 17 2007 - rguenther@suse.de - Update to SVN trunk head (r128539). - Drop patch for PR32756. - Revert r127960. * Thu Aug 30 2007 - rguenther@suse.de - Add patch for PR32756. * Fri Aug 24 2007 - rguenther@suse.de - Update to SVN trunk head (r127773). * Fri Aug 24 2007 - rguenther@suse.de - Allow disabling of C++ and ObjC. - Add rpmlint exceptions for libraries. * Mon Aug 20 2007 - rguenther@suse.de - Delete fix-included sound headers. * Wed Jul 25 2007 - rguenther@suse.de - Update with specfile changes that went into the gcc42 package. - Update to SVN trunk head (r126913). * Wed May 09 2007 - rguenther@suse.de - Update to SVN trunk head (r124570). - Add unzip BuildRequires for libjava. - No longer package precompiled headers for libstdc++. * Tue Mar 27 2007 - rguenther@suse.de - Update to SVN trunk head (r123255). - Remove %%versionspecificlibs stuff. * Thu Nov 16 2006 - rguenther@suse.de - Update to SVN 4.2 branch head. - Remove patch for PR26898 again. * Fri Oct 20 2006 - rguenther@suse.de - Update to SVN 4.2 branch head, fixes some remaining aliasing miscompiles. - Fix libgcj.pc install. - Update AMD-0201 patch. * Tue Oct 17 2006 - rguenther@suse.de - Update to SVN head. - Add AMD-0201. - Add other minor improvements. * Tue Sep 19 2006 - rguenther@suse.de - New gcc42-gij package. - Adjust libgcj so version. - Add proper Obsoletes to virtual Provides and gcc41 packages to make rpm install work. - Kill @gcc_suffix@. * Mon Sep 18 2006 - rguenther@suse.de - Update to SVN head. * Mon Sep 04 2006 - rguenther@suse.de - Fix libgcj packaging. - Run the testsuite from the libgcj package and package results in gcc42-testresults. * Tue Aug 29 2006 - rguenther@suse.de - Update to SVN head. - Remove patch for bogus warning which is fixed upstream already. - Fix URL for bugreporting, use http://bugs.opensuse.org instead of http://www.suse.de/feedback. - No longer package gccbug script which led to feedback@suse.de which no longer exists. * Tue Aug 22 2006 - rguenther@suse.de - Forward port spec file changes from gcc41 package. - libobjc changed .so version. * Tue Aug 15 2006 - schwab@suse.de - Fix infinite loop (PR28672). * Tue Aug 15 2006 - rguenther@suse.de - New gcc42 package. ++++++ gcc43.spec ++++++ --- /var/tmp/diff_new_pack.JJ6584/_old 2007-11-09 01:24:50.000000000 +0100 +++ /var/tmp/diff_new_pack.JJ6584/_new 2007-11-09 01:24:50.000000000 +0100 @@ -102,7 +102,7 @@ Url: http://gcc.gnu.org/ License: GPL v3 or later Version: 4.3.0_20071016 -Release: 11 +Release: 12 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 @@ -2213,6 +2213,8 @@ %doc testresults/*.log %endif %changelog +* Thu Nov 08 2007 - rguenther@suse.de +- Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. ++++++ libgcj43.spec ++++++ --- /var/tmp/diff_new_pack.JJ6584/_old 2007-11-09 01:24:51.000000000 +0100 +++ /var/tmp/diff_new_pack.JJ6584/_new 2007-11-09 01:24:51.000000000 +0100 @@ -114,7 +114,7 @@ Url: http://gcc.gnu.org/ License: GPL v2 or later; LGPL v2.1 or later Version: 4.3.0_20071016 -Release: 14 +Release: 15 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') %define binsuffix -4.3 @@ -1051,6 +1051,8 @@ %doc testresults/*.log %endif %changelog +* Thu Nov 08 2007 - rguenther@suse.de +- Enable icecream backends. * Mon Nov 05 2007 - rguenther@suse.de - Fix ia64 stack-protector patch. - Add patch for PR32260. ++++++ change_spec ++++++ --- gcc43/change_spec 2007-10-26 11:35:07.000000000 +0200 +++ /mounts/work_src_done/STABLE/gcc43/change_spec 2007-11-08 13:11:34.000000000 +0100 @@ -1,6 +1,6 @@ #!/bin/bash -do_icecream=0 +do_icecream=1 do_cross_static=0 do_cross_shared=0 rm -f gcc*.spec cross*.spec cross*.changes ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de