
Hello community, here is the log from the commit of package gcc41 checked in at Fri Sep 1 01:29:36 CEST 2006. -------- --- gcc41/cross-alpha-gcc-icecream-backend.changes 2006-08-15 17:40:11.000000000 +0200 +++ gcc41/cross-alpha-gcc-icecream-backend.changes 2006-08-30 14:17:33.000000000 +0200 @@ -1,0 +2,20 @@ +Tue Aug 29 16:30:37 CEST 2006 - rguenther@suse.de + +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. + +------------------------------------------------------------------- +Mon Aug 21 12:49:44 CEST 2006 - rguenther@suse.de + +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. + +------------------------------------------------------------------- cross-arm-gcc-icecream-backend.changes: same change cross-avr-gcc.changes: same change cross-hppa-gcc-icecream-backend.changes: same change cross-i386-gcc-icecream-backend.changes: same change cross-ia64-gcc-icecream-backend.changes: same change cross-ppc-gcc-icecream-backend.changes: same change cross-ppc64-gcc-icecream-backend.changes: same change cross-s390-gcc-icecream-backend.changes: same change cross-s390x-gcc-icecream-backend.changes: same change cross-x86_64-gcc-icecream-backend.changes: same change gcc41.changes: same change libgcj41.changes: same change Old: ---- endless-loop-warning.patch gcc-4.1.2-20060731.tar.bz2 libgcj.spec.in New: ---- gcc-4.1.2-20060829.tar.bz2 stack-protect-kernel.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cross-alpha-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-alpha-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-alpha-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch alpha +%define gcc_target_arch alpha-linux +%define gcc_icecream 1 BuildRequires: cross-alpha-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-alpha-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-arm-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-arm-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-arm-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch arm +%define gcc_target_arch arm-linux +%define gcc_icecream 1 BuildRequires: cross-arm-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-arm-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-avr-gcc.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-avr-gcc (Version 4.1.2_20060731) +# spec file for package cross-avr-gcc (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -26,8 +26,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -48,7 +48,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -78,6 +77,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description This compiler supports the C language on avr microprocessors. Also @@ -90,13 +91,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -110,7 +114,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -142,6 +145,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -163,7 +167,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -182,8 +186,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -224,7 +228,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -245,21 +250,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -269,26 +266,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -314,6 +311,20 @@ %{_prefix} %changelog -n cross-avr-gcc +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-hppa-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-hppa-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-hppa-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch hppa +%define gcc_target_arch hppa-linux +%define gcc_icecream 1 BuildRequires: cross-hppa-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-hppa-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-i386-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-i386-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-i386-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch i386 +%define gcc_target_arch i386-linux +%define gcc_icecream 1 BuildRequires: cross-i386-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-i386-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-ia64-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-ia64-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-ia64-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch ia64 +%define gcc_target_arch ia64-linux +%define gcc_icecream 1 BuildRequires: cross-ia64-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-ia64-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-ppc-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-ppc-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-ppc-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch ppc +%define gcc_target_arch ppc-linux +%define gcc_icecream 1 BuildRequires: cross-ppc-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-ppc-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-ppc64-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-ppc64-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-ppc64-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch ppc64 +%define gcc_target_arch ppc64-linux +%define gcc_icecream 1 BuildRequires: cross-ppc64-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-ppc64-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-s390-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-s390-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-s390-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch s390 +%define gcc_target_arch s390-linux +%define gcc_icecream 1 BuildRequires: cross-s390-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-s390-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-s390x-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-s390x-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-s390x-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch s390x +%define gcc_target_arch s390x-linux +%define gcc_icecream 1 BuildRequires: cross-s390x-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-s390x-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ cross-x86_64-gcc-icecream-backend.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package cross-x86_64-gcc-icecream-backend (Version 4.1.2_20060731) +# spec file for package cross-x86_64-gcc-icecream-backend (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch x86_64 +%define gcc_target_arch x86_64-linux +%define gcc_icecream 1 BuildRequires: cross-x86_64-binutils glibc-devel-32bit ExclusiveArch: ppc ppc64 %ix86 x86_64 ia64 %define _prefix /opt/cross @@ -28,8 +29,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL, LGPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -50,7 +51,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -80,6 +80,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description NOTE: Be sure to install at least the following packages as well or you @@ -95,13 +97,16 @@ The GCC team. %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -115,7 +120,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -147,6 +151,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -168,7 +173,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -187,8 +192,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -229,7 +234,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -250,21 +256,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -274,26 +272,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -305,24 +303,23 @@ %install cd obj-%{GCCDIST} rm -rf $RPM_BUILD_ROOT -BUILD_TARGET=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\ @@ -352,6 +349,20 @@ /usr/share/icecream-envs %changelog -n cross-x86_64-gcc-icecream-backend +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ gcc41.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package gcc41 (Version 4.1.2_20060731) +# spec file for package gcc41 (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -12,12 +12,14 @@ # icecream 0 Name: gcc41 +%if 0%{!?run_tests:1} %define run_tests %(test -f %_sourcedir/RUN_TESTS && echo 1 || echo 0) +%endif # Ada currently fails to build on a few platforms, enable it only # on those that work # Note that AdaCore only supports %ix86, x86_64 and ia64 %ifarch %ix86 x86_64 ia64 hppa ppc s390 -%define build_ada 1 +%define build_ada 0%{!?building_libjava:1} %else # alpha ppc64 s390x %define build_ada 0 @@ -28,10 +30,10 @@ %define build_libjava 0 %else %define build_java 1 -%define build_libjava 0 +%define build_libjava 0%{?building_libjava:1} %endif -%define build_fortran 1 -%define build_objcp 1 +%define build_fortran 0%{!?building_libjava:1} +%define build_objcp 0%{!?building_libjava:1} %if 0%{?build_for_base:1} %define build_ada 0 %define build_java 0 @@ -108,8 +110,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc URL: http://gcc.gnu.org/ License: GPL -Version: 4.1.2_20060731 -Release: 3 +Version: 4.1.2_20060829 +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.1 @@ -119,11 +121,13 @@ %define versionspecificlibs 0 %endif # COMMON-END +%if 0%{?!building_libjava:1} Requires: binutils glibc-devel Requires: cpp41 = %{version}-%{release} Requires: libgcc >= %{version}-%{release} Obsoletes: gcc41-mudflap Requires: libmudflap >= %{version}-%{release} +%endif # COMMON-BEGIN Group: Development/Languages/C and C++ Autoreqprov: on @@ -135,7 +139,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -165,6 +168,8 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch +# LIBJAVA-DELETE-BEGIN %description Core package for the GNU Compiler Collection, including the C language @@ -583,51 +588,6 @@ -------- The GCC team. -%package java -Summary: The GNU Java Compiler -Group: Development/Languages/Java -Autoreqprov: on -Requires: gcc41 = %{version}-%{release} -Requires: libgcj41-devel = %{version}-%{release} - -%description java -The Java compiler from the GCC-tools-suite. - - - -%package -n libgcj41 -Summary: Java Runtime Library for gcc -Group: System/Libraries -Provides: libgcj = %{version}-%{release} -Obsoletes: libgcj -Autoreqprov: on - -%description -n libgcj41 -This library is needed if you want to use the GNU Java compiler, gcj. -Source code for this package is in gcc. - - - -%package -n libgcj41-devel -Summary: Include Files and Libraries mandatory for Development. -Group: Development/Libraries/Java -Autoreqprov: on -Requires: libstdc++41-devel = %{version}-%{release} -Requires: libgcj >= %{version}-%{release} -Requires: gtk2-devel -Requires: libart_lgpl-devel -Requires: glibc-devel -Requires: zlib-devel -%ifarch ia64 -Requires: libunwind-devel -%endif - -%description -n libgcj41-devel -This package contains all necessary include files and libraries needed -to develop applications that require these. - - - %package ada Requires: gcc41 = %{version}-%{release} Requires: libada41 = %{version}-%{release} @@ -822,6 +782,52 @@ +%package java +Summary: The GNU Java Compiler +Group: Development/Languages/Java +Autoreqprov: on +Requires: gcc41 = %{version}-%{release} +Requires: libgcj41-devel = %{version}-%{release} + +%description java +The Java compiler from the GCC-tools-suite. + + + +%package -n libgcj41 +# LIBJAVA-DELETE-END +Summary: Java Runtime Library for gcc +Group: System/Libraries +Provides: libgcj = %{version}-%{release} +Obsoletes: libgcj +Autoreqprov: on + +%description -n libgcj41 +This library is needed if you want to use the GNU Java compiler, gcj. +Source code for this package is in gcc. + + + +%package -n libgcj41-devel +Summary: Include Files and Libraries mandatory for Development. +Group: Development/Libraries/Java +Autoreqprov: on +Requires: libstdc++41-devel = %{version}-%{release} +Requires: libgcj >= %{version}-%{release} +Requires: gtk2-devel +Requires: libart_lgpl-devel +Requires: glibc-devel +Requires: zlib-devel +%ifarch ia64 +Requires: libunwind-devel +%endif + +%description -n libgcj41-devel +This package contains all necessary include files and libraries needed +to develop applications that require these. + + + %package -n libffi41 Summary: Foreign Function Interface library Group: System/Libraries @@ -912,14 +918,30 @@ +%package -n gcc41-testresults +Summary: The GNU C Compiler testsuiteresults +Group: Development/Languages/C and C++ + +%description -n gcc41-testresults +Results from running the GCC testsuite. + + + +Authors: +-------- + The GCC team. + %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -1066,7 +1088,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -1098,6 +1119,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -1119,7 +1141,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -1138,8 +1160,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -1180,7 +1202,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -1201,21 +1224,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -1225,26 +1240,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -1275,8 +1290,34 @@ # Work around tail/head -1 changes export _POSIX2_VERSION=199209 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi32}:$RPM_BUILD_ROOT%{mainlibdirbi64} +%if 0%{?building_libjava:1} +make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT +make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT +make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT +%else make install DESTDIR=$RPM_BUILD_ROOT +%endif mkdir -p $RPM_BUILD_ROOT%{_libdir} +# Remove some useless .la files +for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \ + libstdc++ libsupc++; do + rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la +%if %{biarch} +%if %{build_primary_64bit} + rm -f $RPM_BUILD_ROOT%{versmainlibdirbi32}/$lib.la +%else + rm -f $RPM_BUILD_ROOT%{versmainlibdirbi64}/$lib.la +%endif +%endif +done +%if %{biarch} +%if %{build_primary_64bit} +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib +%else +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 +%endif +%endif +# LIBJAVA-DELETE-BEGIN # Fix c++config.h for multilibs cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`" for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do @@ -1312,25 +1353,7 @@ break fi done -# Remove some useless .la files -for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \ - libstdc++ libsupc++; do - rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la -%if %{biarch} -%if %{build_primary_64bit} - rm -f $RPM_BUILD_ROOT%{versmainlibdirbi32}/$lib.la -%else - rm -f $RPM_BUILD_ROOT%{versmainlibdirbi64}/$lib.la -%endif -%endif -done -%if %{biarch} -%if %{build_primary_64bit} -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib -%else -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 -%endif -%endif +# LIBJAVA-DELETE-END # Move shared libs around %if %{versionspecificlibs} %else @@ -1349,6 +1372,7 @@ %endif %endif done +# LIBJAVA-DELETE-BEGIN # move shared libs from versionspecific dir to main libdir for libname in \ %if %{build_fortran} @@ -1394,6 +1418,7 @@ ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} %endif +# LIBJAVA-DELETE-END %endif %if %{build_ada} mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir} @@ -1421,9 +1446,11 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/32 (cd $RPM_BUILD_ROOT%{_libdir}/32; tar cf - .) | (cd $RPM_BUILD_ROOT%{_prefix}/lib ; tar xf -) rm -rf $RPM_BUILD_ROOT%{_libdir}/32 +%if 0%{?!building_libjava:1} ln -s %{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}/32 rm -rf $RPM_BUILD_ROOT/%{_lib}/32 ln -s /lib $RPM_BUILD_ROOT/%{_lib}/32 +%endif popd %else # 32-bit biarch systems @@ -1433,7 +1460,9 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/64 (cd $RPM_BUILD_ROOT%{_libdir}/64; tar cf - .) | (cd $RPM_BUILD_ROOT%{_prefix}/lib64 ; tar xf -) rm -rf $RPM_BUILD_ROOT%{_libdir}/64 +%if 0%{?!building_libjava:1} ln -s %{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}/64 +%endif popd %endif %endif @@ -1489,6 +1518,7 @@ rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/bits rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/sys rm -f $RPM_BUILD_ROOT%{_infodir}/dir +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix} %if %{build_libjava} # gcj -static doesn't work properly anyway, unless using --whole-archive # let's save the space instead. @@ -1509,16 +1539,16 @@ rm $RPM_BUILD_ROOT%{_mandir}/man1/grmiregistry%{binsuffix}.1 %endif # fastjar is separate now -rm $RPM_BUILD_ROOT%{_prefix}/bin/fastjar%{binsuffix} -rm $RPM_BUILD_ROOT%{_prefix}/bin/grepjar%{binsuffix} -rm $RPM_BUILD_ROOT%{_infodir}/fastjar.info* -rm $RPM_BUILD_ROOT%{_mandir}/man1/fastjar%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/grepjar%{binsuffix}.1 -%endif -rm $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7 -rm $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7 -rm $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7 -rm $RPM_BUILD_ROOT%{_libdir}/libiberty.a +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/fastjar%{binsuffix} +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/grepjar%{binsuffix} +rm -f $RPM_BUILD_ROOT%{_infodir}/fastjar.info* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/fastjar%{binsuffix}.1 +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/grepjar%{binsuffix}.1 +%endif +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7 +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7 +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7 +rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a %if %{build_nof} rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a %endif @@ -1530,9 +1560,11 @@ %endif %endif # Move mudflap header +%if 0%{!?building_libjava:1} mv $RPM_BUILD_ROOT/usr/include/mf-runtime.h $RPM_BUILD_ROOT%{libsubdir}/include/ +%endif # For building libjava only we need to delete other manpages -%if "%{name}" == "libgcj41" +%if 0%{?building_libjava:1} rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcjh%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjnih%{binsuffix}.1 @@ -1549,6 +1581,7 @@ rm $RPM_BUILD_ROOT%{_infodir}/*.info* rm $RPM_BUILD_ROOT%{_prefix}/share/locale/*/LC_MESSAGES/*.mo %endif +# LIBJAVA-DELETE-BEGIN %post info %if !%{gcc_for_opt} @@ -1611,7 +1644,6 @@ %dir %{libsubdir}/nof %endif %{_prefix}/bin/gcc%{binsuffix} -%{_prefix}/bin/gccbug%{binsuffix} %{_prefix}/bin/gcov%{binsuffix} %{libsubdir}/collect2 %{libsubdir}/include/README @@ -1661,10 +1693,6 @@ %versmainlib libmudflapth.so %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz -%if %{run_tests} -%doc testresults/*.sum -%doc testresults/*.log -%endif %if %{separate_biarch} %files -n gcc41%{separate_biarch_suffix} @@ -1912,6 +1940,30 @@ %defattr(-,root,root) %{libsubdir}/cc1objplus %endif +%if %{build_ada} + +%files ada +%defattr(-,root,root) +%dir %{_libdir}/gcc +%dir %{_libdir}/gcc/%{GCCDIST} +%dir %{libsubdir} +%{_prefix}/bin/gnat* +%{_prefix}/bin/gpr* +%{libsubdir}/adainclude +%dir %{libsubdir}/adalib +%{libsubdir}/adalib/*.ali +%{libsubdir}/adalib/*.a +%{libsubdir}/adalib/libgnarl.so +%{libsubdir}/adalib/libgnat.so +%{libsubdir}/adalib/g-trasym.o +%{libsubdir}/gnat1 + +%files -n libada41 +%defattr(-,root,root) +# Ada is not multilibbed +%{mainlibdir}/libgnarl-*.so +%{mainlibdir}/libgnat-*.so +%endif %if %{build_java} %files java @@ -1928,6 +1980,9 @@ %doc %{_mandir}/man1/gjnih%{binsuffix}.1.gz %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz %doc %{_mandir}/man1/jv-scan%{binsuffix}.1.gz +%endif +# LIBJAVA-DELETE-END +%if %{build_java} %if %{build_libjava} %files -n libgcj41 @@ -2055,32 +2110,29 @@ %endif %endif %endif -%if %{build_ada} - -%files ada -%defattr(-,root,root) -%dir %{_libdir}/gcc -%dir %{_libdir}/gcc/%{GCCDIST} -%dir %{libsubdir} -%{_prefix}/bin/gnat* -%{_prefix}/bin/gpr* -%{libsubdir}/adainclude -%dir %{libsubdir}/adalib -%{libsubdir}/adalib/*.ali -%{libsubdir}/adalib/*.a -%{libsubdir}/adalib/libgnarl.so -%{libsubdir}/adalib/libgnat.so -%{libsubdir}/adalib/g-trasym.o -%{libsubdir}/gnat1 +%if %{run_tests} -%files -n libada41 +%files -n gcc41-testresults %defattr(-,root,root) -# Ada is not multilibbed -%{mainlibdir}/libgnarl-*.so -%{mainlibdir}/libgnat-*.so +%doc testresults/*.sum +%doc testresults/*.log %endif %changelog -n gcc41 +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ libgcj41.spec ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:17.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package libgcj41 (Version 4.1.2_20060731) +# spec file for package libgcj41 (Version 4.1.2_20060829) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -12,12 +12,28 @@ # icecream 0 Name: libgcj41 +%define building_libjava 1 +%define run_tests 1 +# +# spec file for package gcc (Version 4.1.x) +# +# Copyright (c) 2005 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://www.suse.de/feedback/ +# +# PREFIX_FOR_OPT is the definition for _prefix +# LIBDIR_FOR_OPT is the definition for _libdir +# Run the testsuite if there's a file named RUN_TESTS in the source +%if 0%{!?run_tests:1} %define run_tests %(test -f %_sourcedir/RUN_TESTS && echo 1 || echo 0) +%endif # Ada currently fails to build on a few platforms, enable it only # on those that work # Note that AdaCore only supports %ix86, x86_64 and ia64 %ifarch %ix86 x86_64 ia64 hppa ppc s390 -%define build_ada 0 +%define build_ada 0%{!?building_libjava:1} %else # alpha ppc64 s390x %define build_ada 0 @@ -28,10 +44,10 @@ %define build_libjava 0 %else %define build_java 1 -%define build_libjava 1 +%define build_libjava 0%{?building_libjava:1} %endif -%define build_fortran 0 -%define build_objcp 0 +%define build_fortran 0%{!?building_libjava:1} +%define build_objcp 0%{!?building_libjava:1} %if 0%{?build_for_base:1} %define build_ada 0 %define build_java 0 @@ -108,8 +124,8 @@ %define biarch_targets x86_64 s390x powerpc64 powerpc Url: http://gcc.gnu.org/ License: LGPL -Version: 4.1.2_20060731 -Release: 4 +Version: 4.1.2_20060829 +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.1 @@ -119,6 +135,13 @@ %define versionspecificlibs 0 %endif # COMMON-END +%if 0%{?!building_libjava:1} +Requires: binutils glibc-devel +Requires: cpp41 = %{version}-%{release} +Requires: libgcc >= %{version}-%{release} +Obsoletes: gcc41-mudflap +Requires: libmudflap >= %{version}-%{release} +%endif # COMMON-BEGIN Group: System/Libraries Autoreqprov: on @@ -130,7 +153,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -160,6 +182,7 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch Summary: Java Runtime Library for gcc Group: System/Libraries Provides: libgcj = %{version}-%{release} @@ -282,14 +305,30 @@ +%package -n gcc41-testresults +Summary: The GNU C Compiler testsuiteresults +Group: Development/Languages/C and C++ + +%description -n gcc41-testresults +Results from running the GCC testsuite. + + + +Authors: +-------- + The GCC team. + %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux %else @@ -436,7 +475,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -468,6 +506,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -489,7 +528,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -508,8 +547,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif J=%{?jobs:%jobs} @@ -550,7 +589,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -571,21 +611,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -595,26 +627,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -645,9 +677,13 @@ # Work around tail/head -1 changes export _POSIX2_VERSION=199209 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi32}:$RPM_BUILD_ROOT%{mainlibdirbi64} +%if 0%{?building_libjava:1} make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT +%else +make install DESTDIR=$RPM_BUILD_ROOT +%endif mkdir -p $RPM_BUILD_ROOT%{_libdir} # Remove some useless .la files for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \ @@ -713,6 +749,11 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/32 (cd $RPM_BUILD_ROOT%{_libdir}/32; tar cf - .) | (cd $RPM_BUILD_ROOT%{_prefix}/lib ; tar xf -) rm -rf $RPM_BUILD_ROOT%{_libdir}/32 +%if 0%{?!building_libjava:1} +ln -s %{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}/32 +rm -rf $RPM_BUILD_ROOT/%{_lib}/32 +ln -s /lib $RPM_BUILD_ROOT/%{_lib}/32 +%endif popd %else # 32-bit biarch systems @@ -722,6 +763,9 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/64 (cd $RPM_BUILD_ROOT%{_libdir}/64; tar cf - .) | (cd $RPM_BUILD_ROOT%{_prefix}/lib64 ; tar xf -) rm -rf $RPM_BUILD_ROOT%{_libdir}/64 +%if 0%{?!building_libjava:1} +ln -s %{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}/64 +%endif popd %endif %endif @@ -777,6 +821,7 @@ rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/bits rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/sys rm -f $RPM_BUILD_ROOT%{_infodir}/dir +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix} %if %{build_libjava} # gcj -static doesn't work properly anyway, unless using --whole-archive # let's save the space instead. @@ -796,9 +841,33 @@ rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmiregistry%{binsuffix}.1 %endif +# fastjar is separate now +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/fastjar%{binsuffix} +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/grepjar%{binsuffix} +rm -f $RPM_BUILD_ROOT%{_infodir}/fastjar.info* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/fastjar%{binsuffix}.1 +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/grepjar%{binsuffix}.1 +%endif +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7 +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7 +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7 +rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a +%if %{build_nof} +rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a +%endif +%if %{biarch} +%if %{build_primary_64bit} +rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a +%else +rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a +%endif +%endif +# Move mudflap header +%if 0%{!?building_libjava:1} +mv $RPM_BUILD_ROOT/usr/include/mf-runtime.h $RPM_BUILD_ROOT%{libsubdir}/include/ %endif # For building libjava only we need to delete other manpages -%if "%{name}" == "libgcj41" +%if 0%{?building_libjava:1} rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcjh%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjnih%{binsuffix}.1 @@ -943,8 +1012,29 @@ %endif %endif %endif +%if %{run_tests} + +%files -n gcc41-testresults +%defattr(-,root,root) +%doc testresults/*.sum +%doc testresults/*.log +%endif %changelog -n libgcj41 +* Tue Aug 29 2006 - rguenther@suse.de +- Update to SVN branch head. Fixes [#187184]. +- 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. +- Run the testsuite from the libgcj package and package results + in gcc41-testresults. +* Mon Aug 21 2006 - rguenther@suse.de +- Update to SVN branch head. +- Add patch to allow stack protector inside the kernel. +- Generate libgcj spec file from gcc spec file. +- Clean up configure target machinery. * Tue Aug 15 2006 - rguenther@suse.de - Clean up target architecture discovery. - Add separate spec file for building libgcj. ++++++ bug-reporting.patch ++++++ --- /var/tmp/diff_new_pack.FLRMgU/_old 2006-09-01 01:26:18.000000000 +0200 +++ /var/tmp/diff_new_pack.FLRMgU/_new 2006-09-01 01:26:18.000000000 +0200 @@ -1,22 +1,3 @@ ---- gcc/gccbug.in -+++ gcc/gccbug.in -@@ -28,7 +28,7 @@ - SUBMITTER=net - - # The default mail address for PR submissions. --GNATS_ADDR=gcc-gnats@gcc.gnu.org -+GNATS_ADDR=feedback@suse.de - - # The default release for this host. - # We have to guess at what program_transform_name might have done. -@@ -309,6 +309,7 @@ - From: $FROM - Reply-To: $REPLYTO - Cc: $CC -+X-Feedback-Type: GCC-Bug - X-send-pr-version: $VERSION - X-GNATS-Notify: - --- gcc/version.c +++ gcc/version.c @@ -8,7 +8,7 @@ @@ -33,7 +14,7 @@ not bugs in your modifications.) */ -const char bug_report_url[] = "<URL:http://gcc.gnu.org/bugs.html>"; -+const char bug_report_url[] = "<URL:http://www.suse.de/feedback>"; ++const char bug_report_url[] = "<URL:http://bugs.opensuse.org>"; /* The complete version string, assembled from several pieces. BASEVER, DATESTAMP, and DEVPHASE are defined by the Makefile. */ ++++++ change_spec ++++++ --- gcc41/change_spec 2006-08-15 17:39:26.000000000 +0200 +++ gcc41/change_spec 2006-08-30 10:58:00.000000000 +0200 @@ -67,12 +67,15 @@ p } }' > $outfile - sed -e 's%@gcc_suffix@%%g' \ + echo '%define building_libjava 1' > libgcj$base_ver.spec + echo '%define run_tests 1' >> libgcj$base_ver.spec + sed -e '/^# LIBJAVA-DELETE-BEGIN/,/^# LIBJAVA-DELETE-END/d;s/-n libgcj@base_ver@@gcc_suffix@$//g;s/^Name:[[:space:]]*gcc/Name: libgcj/g' \ + gcc.spec.in \ + | sed -e 's%@gcc_suffix@%%g' \ -e 's%@base_ver@%'$base_ver'%g' \ -e 's$@PREFIX_FOR_OPT@$$g' \ -e 's$@LIBDIR_FOR_OPT@$$g' \ -e 's%@GCC_FOR_OPT@%0%g' \ - libgcj.spec.in \ | sed -n -e '{ /^# PACKAGE-BEGIN/h /^# PACKAGE-BEGIN/,/^# PACKAGE-END/H @@ -87,10 +90,10 @@ s/@variant@/-64bit/g p } -}' > libgcj$base_ver.spec +}' >> libgcj$base_ver.spec fi - - + + if [ $GCC_FOR_OPT != yes ]; then # disabled: mips, sparc for arch in alpha hppa arm i386 x86_64 s390 s390x ppc ppc64 ia64; do ++++++ cross.spec.in ++++++ --- gcc41/cross.spec.in 2006-08-15 17:11:43.000000000 +0200 +++ gcc41/cross.spec.in 2006-08-21 10:32:55.000000000 +0200 @@ -17,7 +17,8 @@ %define build_objcp 0 %define build_nof 0 %define gcc_for_opt 0 -%define gcc_target_arch @cross_arch@ +%define gcc_target_arch @cross_arch@-linux +%define gcc_icecream 1 Name: cross-@cross_arch@-gcc-icecream-backend BuildRequires: cross-@cross_arch@-binutils glibc-devel-32bit @@ -28,30 +29,30 @@ # COMMON-BEGIN # 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=%{BUILD_TARGET} -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 +# This shows in the difference of %{CONFIGURE_TARGET}, which is powerpc64-linux +# vs %{TARGET_ARCH}, which is powerpc in this case. 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 +install -s -D %{_prefix}/bin/%{TARGET_ARCH}-linux-as $RPM_BUILD_ROOT/env/usr/bin/as +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-g++ $RPM_BUILD_ROOT/env/usr/bin/g++ +install -s $RPM_BUILD_ROOT/inst%{_prefix}/bin/%{CONFIGURE_TARGET}-gcc $RPM_BUILD_ROOT/env/usr/bin/gcc 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 + install -s -D $RPM_BUILD_ROOT/inst%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back \ + $RPM_BUILD_ROOT/env%{_libdir}/gcc/%{CONFIGURE_TARGET}/%gcc_version/$back done libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/*; do \ ++++++ fortran-matmul.patch ++++++ ++++ 1447 lines (skipped) ++++ between gcc41/fortran-matmul.patch ++++ and gcc41/fortran-matmul.patch ++++++ gcc-4.1.2-20060731.tar.bz2 -> gcc-4.1.2-20060829.tar.bz2 ++++++ gcc41/gcc-4.1.2-20060731.tar.bz2 gcc41/gcc-4.1.2-20060829.tar.bz2 differ: char 11, line 1 ++++++ gcc.spec.in ++++++ --- gcc41/gcc.spec.in 2006-08-16 14:02:15.000000000 +0200 +++ gcc41/gcc.spec.in 2006-08-30 10:57:31.000000000 +0200 @@ -19,13 +19,15 @@ # Run the testsuite if there's a file named RUN_TESTS in the source +%if 0%{!?run_tests:1} %define run_tests %(test -f %_sourcedir/RUN_TESTS && echo 1 || echo 0) +%endif # Ada currently fails to build on a few platforms, enable it only # on those that work # Note that AdaCore only supports %ix86, x86_64 and ia64 %ifarch %ix86 x86_64 ia64 hppa ppc s390 -%define build_ada 1 +%define build_ada 0%{!?building_libjava:1} %else # alpha ppc64 s390x %define build_ada 0 @@ -37,11 +39,11 @@ %define build_libjava 0 %else %define build_java 1 -%define build_libjava 0 +%define build_libjava 0%{?building_libjava:1} %endif -%define build_fortran 1 -%define build_objcp 1 +%define build_fortran 0%{!?building_libjava:1} +%define build_objcp 0%{!?building_libjava:1} %if 0%{?build_for_base:1} %define build_ada 0 @@ -52,7 +54,6 @@ %define run_tests 0 %endif - Name: gcc@base_ver@@gcc_suffix@ BuildRequires: glibc-devel-32bit flex bison gettext-devel %if %{build_ada} @@ -132,7 +133,7 @@ URL: http://gcc.gnu.org/ License: GPL -Version: 4.1.2_20060731 +Version: 4.1.2_20060829 Release: 1 %define gcc_version %(echo %version | sed 's/_.*//') %define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/') @@ -144,12 +145,13 @@ %endif # COMMON-END +%if 0%{?!building_libjava:1} Requires: binutils glibc-devel -Requires: cpp@base_ver@@gcc_suffix@ = %{version}-%{release} +Requires: cpp@base_ver@@gcc_suffix@ = %{version}-%{release} Requires: libgcc@gcc_suffix@ >= %{version}-%{release} Obsoletes: gcc@base_ver@@gcc_suffix@-mudflap Requires: libmudflap@gcc_suffix@ >= %{version}-%{release} - +%endif # COMMON-BEGIN Group: Development/Languages/C and C++ @@ -162,7 +164,6 @@ Patch2: gcc-noalias-warn.diff Patch5: boehm-gc-strict-aliasing.patch Patch7: acats-timeout.patch -Patch9: endless-loop-warning.patch Patch10: program-transform-name.diff Patch12: gcc4-ppc64-m32-m64-multilib-only.patch Patch23: libjava-no-multilib.diff @@ -192,8 +193,9 @@ Patch62: gcc41-fortran-where-opt.patch Patch63: emmintr.patch Patch64: libstdcxx-bitset.patch +Patch65: stack-protect-kernel.patch - +# LIBJAVA-DELETE-BEGIN %description Language frontends other than C are split to different sub-packages, namely gcc-ada, gcc-c++, gcc-fortran, gcc-java and gcc-objc. @@ -366,48 +368,6 @@ packages. -%package java -Summary: The GNU Java Compiler -Group: Development/Languages/Java -Autoreqprov: on -Requires: gcc@base_ver@@gcc_suffix@ = %{version}-%{release} -Requires: libgcj@base_ver@-devel@gcc_suffix@ = %{version}-%{release} - -%description java -The Java compiler from the GCC-tools-suite. - - -%package -n libgcj@base_ver@@gcc_suffix@ -Summary: Java Runtime Library for gcc -Group: System/Libraries -Provides: libgcj@gcc_suffix@ = %{version}-%{release} -Obsoletes: libgcj@gcc_suffix@ -Autoreqprov: on - -%description -n libgcj@base_ver@@gcc_suffix@ -This library is needed if you want to use the GNU Java compiler, gcj. -Source code for this package is in gcc. - - -%package -n libgcj@base_ver@-devel@gcc_suffix@ -Summary: Include Files and Libraries mandatory for Development. -Group: Development/Libraries/Java -Autoreqprov: on -Requires: libstdc++@base_ver@-devel@gcc_suffix@ = %{version}-%{release} -Requires: libgcj@gcc_suffix@ >= %{version}-%{release} -Requires: gtk2-devel -Requires: libart_lgpl-devel -Requires: glibc-devel -Requires: zlib-devel -%ifarch ia64 -Requires: libunwind-devel -%endif - -%description -n libgcj@base_ver@-devel@gcc_suffix@ -This package contains all necessary include files and libraries needed -to develop applications that require these. - - %package ada Requires: gcc@base_ver@@gcc_suffix@ = %{version}-%{release} Requires: libada@base_ver@@gcc_suffix@ = %{version}-%{release} @@ -477,6 +437,50 @@ This is the Mudflap Extension Runtime Library. # PACKAGE-END + +%package java +Summary: The GNU Java Compiler +Group: Development/Languages/Java +Autoreqprov: on +Requires: gcc@base_ver@@gcc_suffix@ = %{version}-%{release} +Requires: libgcj@base_ver@-devel@gcc_suffix@ = %{version}-%{release} + +%description java +The Java compiler from the GCC-tools-suite. + + +%package -n libgcj@base_ver@@gcc_suffix@ +# LIBJAVA-DELETE-END +Summary: Java Runtime Library for gcc +Group: System/Libraries +Provides: libgcj@gcc_suffix@ = %{version}-%{release} +Obsoletes: libgcj@gcc_suffix@ +Autoreqprov: on + +%description -n libgcj@base_ver@@gcc_suffix@ +This library is needed if you want to use the GNU Java compiler, gcj. +Source code for this package is in gcc. + + +%package -n libgcj@base_ver@-devel@gcc_suffix@ +Summary: Include Files and Libraries mandatory for Development. +Group: Development/Libraries/Java +Autoreqprov: on +Requires: libstdc++@base_ver@-devel@gcc_suffix@ = %{version}-%{release} +Requires: libgcj@gcc_suffix@ >= %{version}-%{release} +Requires: gtk2-devel +Requires: libart_lgpl-devel +Requires: glibc-devel +Requires: zlib-devel +%ifarch ia64 +Requires: libunwind-devel +%endif + +%description -n libgcj@base_ver@-devel@gcc_suffix@ +This package contains all necessary include files and libraries needed +to develop applications that require these. + + # PACKAGE-BEGIN %package -n libffi@base_ver@@gcc_suffix@@variant@ Summary: Foreign Function Interface library @@ -499,19 +503,32 @@ A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. # PACKAGE-END +%package -n gcc@base_ver@@gcc_suffix@-testresults +Summary: Testsuite results +Group: Development/Languages/C and C++ + +%description -n gcc@base_ver@@gcc_suffix@-testresults +Results from running the gcc and target library testsuites. + # COMMON-BEGIN # Define the canonical target and host architecture +# %gcc_target_arch is supposed to be the full target triple +# %TARGET_ARCH is the canonicalized CPU part +# %CONFIGURE_TARGET is the target triple used for --target= %if 0%{?gcc_target_arch:1} -%define TARGET_ARCH %(echo %{gcc_target_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/") +%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) -%define BUILD_TARGET %{TARGET_ARCH} %ifarch ppc %define GCCDIST powerpc64-suse-linux @@ -679,7 +696,6 @@ %patch2 %patch5 %patch7 -%patch9 %patch10 %if !%{build_nof} %patch12 @@ -711,6 +727,7 @@ %patch61 %patch62 -p1 %patch63 +%patch65 %build # Avoid conflict with commercial libjawt.so @@ -734,7 +751,7 @@ 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 "%{name}" == "cross-avr-gcc" +%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 @@ -754,8 +771,8 @@ %if %{build_ada} languages=$languages,ada %endif -# override for cross-avr-gcc -%if "%{name}" == "cross-avr-gcc" +# override for cross targets until we have build_objc +%if 0%{?gcc_target_arch:1} languages=c,c++ %endif @@ -803,7 +820,8 @@ CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \ ../configure \ -%if "%{name}" != "cross-avr-gcc" +%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1} +%else --enable-threads=posix \ %endif --prefix=%{_prefix} --with-local-prefix=/usr/local \ @@ -824,21 +842,13 @@ --enable-shared --enable-__cxa_atexit \ --enable-libstdcxx-allocator=new \ %if 0%{?gcc_target_arch:1} -%if "%{name}" == "cross-avr-gcc" - --target=avr \ -%else -%if "%{BUILD_TARGET}" == "powerpc" - --target=powerpc64-linux \ - --with-as=/opt/cross/powerpc-linux/bin/as \ - --with-ld=/opt/cross/powerpc-linux/bin/ld \ -%else - --target=%{BUILD_TARGET}-linux \ -%endif -%endif - --disable-nls --disable-shared \ -%if "%{name}" != "cross-avr-gcc" +%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 + --disable-nls --disable-shared \ + --target=%{CONFIGURE_TARGET} \ %else --program-suffix=%{binsuffix} \ --enable-version-specific-runtime-libs \ @@ -848,26 +858,26 @@ --without-system-libunwind \ %endif %endif -%if "%{BUILD_TARGET}" == "powerpc" +%if "%{TARGET_ARCH}" == "powerpc" --with-cpu=default32 \ --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "powerpc64" +%if "%{TARGET_ARCH}" == "powerpc64" --enable-secureplt \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "i586" +%if "%{TARGET_ARCH}" == "i586" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "x86_64" +%if "%{TARGET_ARCH}" == "x86_64" --with-cpu=generic \ %endif -%if "%{BUILD_TARGET}" == "s390" +%if "%{TARGET_ARCH}" == "s390" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif -%if "%{BUILD_TARGET}" == "s390x" +%if "%{TARGET_ARCH}" == "s390x" --with-tune=z9-109 --with-arch=z900 \ --with-long-double-128 \ %endif @@ -901,9 +911,37 @@ # Work around tail/head -1 changes export _POSIX2_VERSION=199209 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi32}:$RPM_BUILD_ROOT%{mainlibdirbi64} +%if 0%{?building_libjava:1} +make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT +make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT +make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT +%else make install DESTDIR=$RPM_BUILD_ROOT +%endif mkdir -p $RPM_BUILD_ROOT%{_libdir} +# Remove some useless .la files +for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \ + libstdc++ libsupc++; do + rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la +%if %{biarch} +%if %{build_primary_64bit} + rm -f $RPM_BUILD_ROOT%{versmainlibdirbi32}/$lib.la +%else + rm -f $RPM_BUILD_ROOT%{versmainlibdirbi64}/$lib.la +%endif +%endif +done + +%if %{biarch} +%if %{build_primary_64bit} +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib +%else +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 +%endif +%endif + +# LIBJAVA-DELETE-BEGIN # Fix c++config.h for multilibs cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`" for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do @@ -939,27 +977,7 @@ break fi done - -# Remove some useless .la files -for lib in libobjc libgfortran libgfortranbegin libmudflap libmudflapth \ - libstdc++ libsupc++; do - rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la -%if %{biarch} -%if %{build_primary_64bit} - rm -f $RPM_BUILD_ROOT%{versmainlibdirbi32}/$lib.la -%else - rm -f $RPM_BUILD_ROOT%{versmainlibdirbi64}/$lib.la -%endif -%endif -done - -%if %{biarch} -%if %{build_primary_64bit} -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib -%else -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 -%endif -%endif +# LIBJAVA-DELETE-END # Move shared libs around %if %{versionspecificlibs} @@ -979,6 +997,7 @@ %endif %endif done +# LIBJAVA-DELETE-BEGIN # move shared libs from versionspecific dir to main libdir for libname in \ %if %{build_fortran} @@ -1025,6 +1044,7 @@ ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} %endif +# LIBJAVA-DELETE-END %endif %if %{build_ada} @@ -1055,9 +1075,11 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/32 (cd $RPM_BUILD_ROOT%{_libdir}/32; tar cf - .) | (cd $RPM_BUILD_ROOT%{_prefix}/lib ; tar xf -) rm -rf $RPM_BUILD_ROOT%{_libdir}/32 +%if 0%{?!building_libjava:1} ln -s %{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}/32 rm -rf $RPM_BUILD_ROOT/%{_lib}/32 ln -s /lib $RPM_BUILD_ROOT/%{_lib}/32 +%endif popd %else # 32-bit biarch systems @@ -1067,7 +1089,9 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/64 (cd $RPM_BUILD_ROOT%{_libdir}/64; tar cf - .) | (cd $RPM_BUILD_ROOT%{_prefix}/lib64 ; tar xf -) rm -rf $RPM_BUILD_ROOT%{_libdir}/64 +%if 0%{?!building_libjava:1} ln -s %{_prefix}/lib $RPM_BUILD_ROOT%{_libdir}/64 +%endif popd %endif %endif @@ -1125,6 +1149,7 @@ rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/bits rm -rf $RPM_BUILD_ROOT%{libsubdir}/include/sys rm -f $RPM_BUILD_ROOT%{_infodir}/dir +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix} %if %{build_libjava} # gcj -static doesn't work properly anyway, unless using --whole-archive # let's save the space instead. @@ -1147,16 +1172,16 @@ rm $RPM_BUILD_ROOT%{_mandir}/man1/grmiregistry%{binsuffix}.1 %endif # fastjar is separate now -rm $RPM_BUILD_ROOT%{_prefix}/bin/fastjar%{binsuffix} -rm $RPM_BUILD_ROOT%{_prefix}/bin/grepjar%{binsuffix} -rm $RPM_BUILD_ROOT%{_infodir}/fastjar.info* -rm $RPM_BUILD_ROOT%{_mandir}/man1/fastjar%{binsuffix}.1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/grepjar%{binsuffix}.1 -%endif -rm $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7 -rm $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7 -rm $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7 -rm $RPM_BUILD_ROOT%{_libdir}/libiberty.a +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/fastjar%{binsuffix} +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/grepjar%{binsuffix} +rm -f $RPM_BUILD_ROOT%{_infodir}/fastjar.info* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/fastjar%{binsuffix}.1 +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/grepjar%{binsuffix}.1 +%endif +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7 +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7 +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7 +rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a %if %{build_nof} rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a %endif @@ -1169,10 +1194,12 @@ %endif # Move mudflap header +%if 0%{!?building_libjava:1} mv $RPM_BUILD_ROOT/usr/include/mf-runtime.h $RPM_BUILD_ROOT%{libsubdir}/include/ +%endif # For building libjava only we need to delete other manpages -%if "%{name}" == "libgcj@base_ver@@gcc_suffix@" +%if 0%{?building_libjava:1} rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcjh%{binsuffix}.1 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjnih%{binsuffix}.1 @@ -1191,6 +1218,7 @@ rm $RPM_BUILD_ROOT%{_prefix}/share/locale/*/LC_MESSAGES/*.mo %endif +# LIBJAVA-DELETE-BEGIN %post info %if !%{gcc_for_opt} %install_info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz @@ -1253,7 +1281,6 @@ %dir %{libsubdir}/nof %endif %{_prefix}/bin/gcc%{binsuffix} -%{_prefix}/bin/gccbug%{binsuffix} %{_prefix}/bin/gcov%{binsuffix} %{libsubdir}/collect2 %{libsubdir}/include/README @@ -1295,10 +1322,6 @@ %versmainlib libmudflapth.so %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz -%if %{run_tests} -%doc testresults/*.sum -%doc testresults/*.log -%endif %if %{separate_biarch} %files -n gcc@base_ver@@gcc_suffix@%{separate_biarch_suffix} @@ -1513,6 +1536,31 @@ %endif +%if %{build_ada} +%files ada +%defattr(-,root,root) +%dir %{_libdir}/gcc +%dir %{_libdir}/gcc/%{GCCDIST} +%dir %{libsubdir} +%{_prefix}/bin/gnat* +%{_prefix}/bin/gpr* +%{libsubdir}/adainclude +%dir %{libsubdir}/adalib +%{libsubdir}/adalib/*.ali +%{libsubdir}/adalib/*.a +%{libsubdir}/adalib/libgnarl.so +%{libsubdir}/adalib/libgnat.so +%{libsubdir}/adalib/g-trasym.o +%{libsubdir}/gnat1 + +%files -n libada@base_ver@@gcc_suffix@ +%defattr(-,root,root) +# Ada is not multilibbed +%{mainlibdir}/libgnarl-*.so +%{mainlibdir}/libgnat-*.so +%endif + + %if %{build_java} %files java %defattr(-,root,root) @@ -1528,7 +1576,10 @@ %doc %{_mandir}/man1/gjnih%{binsuffix}.1.gz %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz %doc %{_mandir}/man1/jv-scan%{binsuffix}.1.gz +%endif +# LIBJAVA-DELETE-END +%if %{build_java} %if %{build_libjava} %files -n libgcj@base_ver@@gcc_suffix@ %defattr(-,root,root) @@ -1635,29 +1686,11 @@ %endif %endif - -%if %{build_ada} -%files ada -%defattr(-,root,root) -%dir %{_libdir}/gcc -%dir %{_libdir}/gcc/%{GCCDIST} -%dir %{libsubdir} -%{_prefix}/bin/gnat* -%{_prefix}/bin/gpr* -%{libsubdir}/adainclude -%dir %{libsubdir}/adalib -%{libsubdir}/adalib/*.ali -%{libsubdir}/adalib/*.a -%{libsubdir}/adalib/libgnarl.so -%{libsubdir}/adalib/libgnat.so -%{libsubdir}/adalib/g-trasym.o -%{libsubdir}/gnat1 - -%files -n libada@base_ver@@gcc_suffix@ +%if %{run_tests} +%files -n gcc@base_ver@@gcc_suffix@-testresults %defattr(-,root,root) -# Ada is not multilibbed -%{mainlibdir}/libgnarl-*.so -%{mainlibdir}/libgnat-*.so +%doc testresults/*.sum +%doc testresults/*.log %endif ++++++ micro-cross.spec.in ++++++ --- gcc41/micro-cross.spec.in 2006-08-15 17:12:02.000000000 +0200 +++ gcc41/micro-cross.spec.in 2006-08-21 12:52:49.000000000 +0200 @@ -7,6 +7,7 @@ test -z "$cross_arch" && echo 1>&2 "Error: $0 needs environment variable 'cross_arch'" test -z "$outfile" && echo 1>&2 "Error: $0 needs environment variable 'outfile'" +cross_arch_cpu=`echo $cross_arch | sed -e 's/\([^-]*\)-\?.*/\1/'` cat << EOF # @@ -31,8 +32,8 @@ %define gcc_target_arch $cross_arch Name: cross-$cross_arch-gcc -BuildRequires: cross-$cross_arch-binutils glibc-devel -Requires: cross-$cross_arch-binutils +BuildRequires: cross-$cross_arch_cpu-binutils glibc-devel +Requires: cross-$cross_arch_cpu-binutils %define _prefix /opt/cross EOF ++++++ stack-protect-kernel.patch ++++++ 2006-07-27 Arjan van de Ven <arjan@linux.intel.com> * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than %fs for -mcmodel=kernel. (stack_tls_protect_test_di): Likewise. * gcc.target/i386/stack-prot-kernel.c: New test. Index: gcc/config/i386/i386.md =================================================================== *** gcc/config/i386/i386.md (revision 116239) --- gcc/config/i386/i386.md (working copy) *************** (define_insn "stack_tls_protect_set_di" *** 20212,20218 **** (set (match_scratch:DI 2 "=&r") (const_int 0)) (clobber (reg:CC FLAGS_REG))] "TARGET_64BIT" ! "mov{q}\t{%%fs:%P1, %2|%2, QWORD PTR %%fs:%P1}\;mov{q}\t{%2, %0|%0, %2}\;xor{l}\t%k2, %k2" [(set_attr "type" "multi")]) (define_expand "stack_protect_test" --- 20212,20226 ---- (set (match_scratch:DI 2 "=&r") (const_int 0)) (clobber (reg:CC FLAGS_REG))] "TARGET_64BIT" ! { ! /* The kernel uses a different segment register for performance reasons; a ! system call would not have to trash the userspace segment register, ! which would be expensive */ ! if (ix86_cmodel != CM_KERNEL) ! return "mov{q}\t{%%fs:%P1, %2|%2, QWORD PTR %%fs:%P1}\;mov{q}\t{%2, %0|%0, %2}\;xor{l}\t%k2, %k2"; ! else ! return "mov{q}\t{%%gs:%P1, %2|%2, QWORD PTR %%gs:%P1}\;mov{q}\t{%2, %0|%0, %2}\;xor{l}\t%k2, %k2"; ! } [(set_attr "type" "multi")]) (define_expand "stack_protect_test" *************** (define_insn "stack_tls_protect_test_di" *** 20280,20286 **** UNSPEC_SP_TLS_TEST)) (clobber (match_scratch:DI 3 "=r"))] "TARGET_64BIT" ! "mov{q}\t{%1, %3|%3, %1}\;xor{q}\t{%%fs:%P2, %3|%3, QWORD PTR %%fs:%P2}" [(set_attr "type" "multi")]) (include "sse.md") --- 20288,20302 ---- UNSPEC_SP_TLS_TEST)) (clobber (match_scratch:DI 3 "=r"))] "TARGET_64BIT" ! { ! /* The kernel uses a different segment register for performance reasons; a ! system call would not have to trash the userspace segment register, ! which would be expensive */ ! if (ix86_cmodel != CM_KERNEL) ! return "mov{q}\t{%1, %3|%3, %1}\;xor{q}\t{%%fs:%P2, %3|%3, QWORD PTR %%fs:%P2}"; ! else ! return "mov{q}\t{%1, %3|%3, %1}\;xor{q}\t{%%gs:%P2, %3|%3, QWORD PTR %%gs:%P2}"; ! } [(set_attr "type" "multi")]) (include "sse.md") --- /dev/null 2006-05-02 08:45:04.000000000 +0200 +++ gcc/testsuite/gcc.target/i386/stack-prot-kernel.c 2006-08-18 17:42:47.000000000 +0200 @@ -0,0 +1,12 @@ +/* { dg-do compile { target lp64 } } */ +/* { dg-options "-O2 -fstack-protector-all -mcmodel=kernel" } */ + +void test1 (int x) +{ + char p[40]; + int i; + for (i=0; i<40; i++) + p[i] = x; +} + +/* { dg-final { scan-assembler-not "%fs" } } */ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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@suse.de