Hello community,

here is the log from the commit of package gcc46 for openSUSE:Factory checked 
in at 2012-01-06 11:43:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc46 (Old)
 and      /work/SRC/openSUSE:Factory/.gcc46.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gcc46", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc46/cross-arm-gcc-icecream-backend.changes     
2011-10-27 14:26:10.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.gcc46.new/cross-arm-gcc-icecream-backend.changes    
    2012-01-06 11:43:48.000000000 +0100
@@ -1,0 +2,36 @@
+Wed Dec 21 13:24:20 UTC 2011 - [email protected]
+
+- Fix previous change.
+
+-------------------------------------------------------------------
+Tue Dec 20 16:49:16 CET 2011 - [email protected]
+
+- build STAGE1 with -O0 on %arm (otherwise it OOMs)
+
+-------------------------------------------------------------------
+Tue Dec 13 13:19:13 UTC 2011 - [email protected]
+
+- Package libstdc++ pretty-printers.  [bnc#736249]
+
+-------------------------------------------------------------------
+Mon Dec 12 09:20:51 UTC 2011 - [email protected]
+
+- Update to gcc-4_6-branch head (r182222).  [bnc#735982]
+
+-------------------------------------------------------------------
+Mon Nov  7 19:55:43 CET 2011 - [email protected]
+
+- disable setjmp/longjump exceptions
+
+-------------------------------------------------------------------
+Mon Nov  7 14:42:29 UTC 2011 - [email protected]
+
+- add pr50193.diff: backport from Andrew for
+  broken shift patterns on arm
+
+-------------------------------------------------------------------
+Tue Nov  1 16:48:41 CET 2011 - [email protected]
+
+- remove build-id.diff and use the included build-id code
+
+-------------------------------------------------------------------
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
gcc46-testresults.changes: same change
gcc46.changes: same change
libffi46.changes: same change
libgcj46.changes: same change

Old:
----
  build-id.diff
  gcc-4.6.2-20111026.tar.bz2

New:
----
  gcc-4.6.2-20111212.tar.bz2
  pr50193.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cross-arm-gcc-icecream-backend.spec ++++++
--- /var/tmp/diff_new_pack.8495GP/_old  2012-01-06 11:43:54.000000000 +0100
+++ /var/tmp/diff_new_pack.8495GP/_new  2012-01-06 11:43:54.000000000 +0100
@@ -46,7 +46,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        4.6.2_20111026
+Version:        4.6.2_20111212
 Release:        1
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -76,7 +76,7 @@
 Patch24:        tls-no-direct.diff
 Patch25:        pr27880.diff
 Patch28:        pr33763.diff
-Patch29:        build-id.diff
+Patch29:        pr50193.diff
 Patch30:        gcc43-no-unwind-tables.diff
 # A set of patches from the RH srpm
 Patch51:        gcc41-ia64-stack-protector.patch
@@ -99,7 +99,7 @@
 # LIBJAVA-DELETE-BEGIN
 Group:          Development/Languages/C and C++
 Summary:        The GNU C Compiler and Support Files
-License:        GPL-3.0+
+License:        GPLv3+
 
 %description
 Core package for the GNU Compiler Collection, including the C language
@@ -174,9 +174,7 @@
 %patch24
 %patch25
 %patch28
-%if 0%{suse_version} > 1100
-%patch29
-%endif
+%patch29 -p1
 %patch30
 %patch51
 %patch55
@@ -370,11 +368,15 @@
        --without-system-libunwind \
 %endif
 %endif
+%if 0%{suse_version} > 1100
+       --enable-linker-build-id \
+%endif
 %if "%{TARGET_ARCH}" == "armv5tel"
        --with-arch=armv5te \
        --with-float=softfp \
        --with-mode=arm \
        --with-abi=aapcs-linux \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
        --with-arch=armv7-a \
@@ -383,6 +385,7 @@
        --with-mode=thumb \
        --with-abi=aapcs-linux \
        --with-fpu=vfpv3-d16 \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "powerpc"
        --with-cpu=default32 \

cross-hppa-gcc-icecream-backend.spec: same change
cross-i386-gcc-icecream-backend.spec: same change
cross-ia64-gcc-icecream-backend.spec: same change
cross-ppc-gcc-icecream-backend.spec: same change
cross-ppc64-gcc-icecream-backend.spec: same change
cross-s390-gcc-icecream-backend.spec: same change
cross-s390x-gcc-icecream-backend.spec: same change
cross-x86_64-gcc-icecream-backend.spec: same change
++++++ gcc46-testresults.spec ++++++
--- /var/tmp/diff_new_pack.8495GP/_old  2012-01-06 11:43:54.000000000 +0100
+++ /var/tmp/diff_new_pack.8495GP/_new  2012-01-06 11:43:54.000000000 +0100
@@ -155,7 +155,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        4.6.2_20111026
+Version:        4.6.2_20111212
 Release:        1
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -206,7 +206,7 @@
 Patch24:        tls-no-direct.diff
 Patch25:        pr27880.diff
 Patch28:        pr33763.diff
-Patch29:        build-id.diff
+Patch29:        pr50193.diff
 Patch30:        gcc43-no-unwind-tables.diff
 # A set of patches from the RH srpm
 Patch51:        gcc41-ia64-stack-protector.patch
@@ -224,7 +224,7 @@
 # http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html
 Patch150:       gcc46-arm-volatile.patch
 
-License:        SUSE-Public-Domain
+License:        Public Domain, Freeware
 Summary:        Testsuite results
 Group:          Development/Languages/C and C++
 
@@ -407,9 +407,7 @@
 %patch24
 %patch25
 %patch28
-%if 0%{suse_version} > 1100
-%patch29
-%endif
+%patch29 -p1
 %patch30
 %patch51
 %patch55
@@ -603,11 +601,15 @@
        --without-system-libunwind \
 %endif
 %endif
+%if 0%{suse_version} > 1100
+       --enable-linker-build-id \
+%endif
 %if "%{TARGET_ARCH}" == "armv5tel"
        --with-arch=armv5te \
        --with-float=softfp \
        --with-mode=arm \
        --with-abi=aapcs-linux \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
        --with-arch=armv7-a \
@@ -616,6 +618,7 @@
        --with-mode=thumb \
        --with-abi=aapcs-linux \
        --with-fpu=vfpv3-d16 \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "powerpc"
        --with-cpu=default32 \
@@ -664,7 +667,12 @@
 #%ifarch %ix86 x86_64 ppc ppc64 ia64
 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" 
BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
 #%else
-make bootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
+%ifarch %arm
+STAGE1_FLAGS="-O0"
+%else
+STAGE1_FLAGS="-O -g"
+%endif
+make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
 #%endif
 #make -C gcc proto
 make info

++++++ gcc46.spec ++++++
--- /var/tmp/diff_new_pack.8495GP/_old  2012-01-06 11:43:54.000000000 +0100
+++ /var/tmp/diff_new_pack.8495GP/_new  2012-01-06 11:43:54.000000000 +0100
@@ -135,7 +135,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        4.6.2_20111026
+Version:        4.6.2_20111212
 Release:        1
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -186,7 +186,7 @@
 Patch24:        tls-no-direct.diff
 Patch25:        pr27880.diff
 Patch28:        pr33763.diff
-Patch29:        build-id.diff
+Patch29:        pr50193.diff
 Patch30:        gcc43-no-unwind-tables.diff
 # A set of patches from the RH srpm
 Patch51:        gcc41-ia64-stack-protector.patch
@@ -1528,9 +1528,7 @@
 %patch24
 %patch25
 %patch28
-%if 0%{suse_version} > 1100
-%patch29
-%endif
+%patch29 -p1
 %patch30
 %patch51
 %patch55
@@ -1724,11 +1722,15 @@
        --without-system-libunwind \
 %endif
 %endif
+%if 0%{suse_version} > 1100
+       --enable-linker-build-id \
+%endif
 %if "%{TARGET_ARCH}" == "armv5tel"
        --with-arch=armv5te \
        --with-float=softfp \
        --with-mode=arm \
        --with-abi=aapcs-linux \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
        --with-arch=armv7-a \
@@ -1737,6 +1739,7 @@
        --with-mode=thumb \
        --with-abi=aapcs-linux \
        --with-fpu=vfpv3-d16 \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "powerpc"
        --with-cpu=default32 \
@@ -1785,7 +1788,12 @@
 #%ifarch %ix86 x86_64 ppc ppc64 ia64
 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" 
BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
 #%else
-make bootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
+%ifarch %arm
+STAGE1_FLAGS="-O0"
+%else
+STAGE1_FLAGS="-O -g"
+%endif
+make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
 #%endif
 #make -C gcc proto
 make info
@@ -1916,8 +1924,6 @@
 fi
 # For now we do not want to have the python gdb scripts
 rm -Rf $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}
-rm -f $RPM_BUILD_ROOT%{libsubdir}/*/*.py
-rm -f $RPM_BUILD_ROOT%{libsubdir}/*.py
 %endif
 # LIBJAVA-DELETE-END
 
@@ -1960,6 +1966,20 @@
   fi
 %endif
 done
+%if %{build_cp}
+%if !0%{?building_libjava:1}
+# And we want to move the shlib gdb pretty printers to a more sane
+# place so ldconfig does not complain
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
+mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py 
$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
+%if %{biarch}
+  if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
+    mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
+    mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py 
$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
+  fi
+%endif
+%endif
+%endif
 %if 0%{?building_libjava:1}
 # libgcj_bc is special as the .so file is actually a different
 # library as the library refered to by the SONAME which should
@@ -2479,6 +2499,11 @@
 
 %versmainlib libsupc++.a
 
+%dir %{_datadir}/gdb
+%dir %{_datadir}/gdb/auto-load
+%dir %{_datadir}/gdb/auto-load%{_prefix}
+%dir %{_datadir}/gdb/auto-load/%{mainlibdir}
+%{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
 
 %if %{separate_biarch}
 
@@ -2490,6 +2515,8 @@
 
 %versbiarchlib libsupc++.a
 
+%dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
+%{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
 %endif
 
 %files -n libstdc++46-doc

++++++ libffi46.spec ++++++
--- /var/tmp/diff_new_pack.8495GP/_old  2012-01-06 11:43:54.000000000 +0100
+++ /var/tmp/diff_new_pack.8495GP/_new  2012-01-06 11:43:54.000000000 +0100
@@ -154,7 +154,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        4.6.2_20111026
+Version:        4.6.2_20111212
 Release:        1
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -205,7 +205,7 @@
 Patch24:        tls-no-direct.diff
 Patch25:        pr27880.diff
 Patch28:        pr33763.diff
-Patch29:        build-id.diff
+Patch29:        pr50193.diff
 Patch30:        gcc43-no-unwind-tables.diff
 # A set of patches from the RH srpm
 Patch51:        gcc41-ia64-stack-protector.patch
@@ -226,7 +226,7 @@
 # GCC-TESTSUITE-DELETE-BEGIN
 # PACKAGE-BEGIN
 # PACKAGE-BEGIN
-License:        BSD-3-Clause
+License:        BSD3c
 Summary:        Foreign Function Interface library
 Group:          Development/Languages/C and C++
 AutoReqProv:    on
@@ -247,7 +247,7 @@
 # PACKAGE-BEGIN
 
 %package -n libffi46-32bit
-License:        BSD-3-Clause
+License:        BSD3c
 Summary:        Foreign Function Interface library
 Group:          Development/Languages/C and C++
 AutoReqProv:    on
@@ -268,7 +268,7 @@
 # PACKAGE-BEGIN
 
 %package -n libffi46-64bit
-License:        BSD-3-Clause
+License:        BSD3c
 Summary:        Foreign Function Interface library
 Group:          Development/Languages/C and C++
 AutoReqProv:    on
@@ -290,7 +290,7 @@
 # PACKAGE-BEGIN
 
 %package -n libffi46-devel
-License:        BSD-3-Clause
+License:        BSD 3-Clause
 Summary:        Foreign Function Interface library development files
 Group:          Development/Languages/C and C++
 AutoReqProv:    on
@@ -304,7 +304,7 @@
 # PACKAGE-BEGIN
 # PACKAGE-BEGIN
 %package -n libffi46-devel-32bit
-License:        BSD-3-Clause
+License:        BSD 3-Clause
 Summary:        Foreign Function Interface library development files
 Group:          Development/Languages/C and C++
 AutoReqProv:    on
@@ -318,7 +318,7 @@
 # PACKAGE-BEGIN
 # PACKAGE-BEGIN
 %package -n libffi46-devel-64bit
-License:        BSD-3-Clause
+License:        BSD 3-Clause
 Summary:        Foreign Function Interface library development files
 Group:          Development/Languages/C and C++
 AutoReqProv:    on
@@ -332,7 +332,7 @@
 
 %package -n gcc46-testresults
 # GCC-TESTSUITE-DELETE-END
-License:        SUSE-Public-Domain
+License:        Public Domain, Freeware
 Summary:        Testsuite results
 Group:          Development/Languages/C and C++
 
@@ -515,9 +515,7 @@
 %patch24
 %patch25
 %patch28
-%if 0%{suse_version} > 1100
-%patch29
-%endif
+%patch29 -p1
 %patch30
 %patch51
 %patch55
@@ -711,11 +709,15 @@
        --without-system-libunwind \
 %endif
 %endif
+%if 0%{suse_version} > 1100
+       --enable-linker-build-id \
+%endif
 %if "%{TARGET_ARCH}" == "armv5tel"
        --with-arch=armv5te \
        --with-float=softfp \
        --with-mode=arm \
        --with-abi=aapcs-linux \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
        --with-arch=armv7-a \
@@ -724,6 +726,7 @@
        --with-mode=thumb \
        --with-abi=aapcs-linux \
        --with-fpu=vfpv3-d16 \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "powerpc"
        --with-cpu=default32 \
@@ -772,7 +775,12 @@
 #%ifarch %ix86 x86_64 ppc ppc64 ia64
 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" 
BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
 #%else
-make bootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
+%ifarch %arm
+STAGE1_FLAGS="-O0"
+%else
+STAGE1_FLAGS="-O -g"
+%endif
+make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
 #%endif
 #make -C gcc proto
 make info

++++++ libgcj46.spec ++++++
--- /var/tmp/diff_new_pack.8495GP/_old  2012-01-06 11:43:54.000000000 +0100
+++ /var/tmp/diff_new_pack.8495GP/_new  2012-01-06 11:43:54.000000000 +0100
@@ -154,7 +154,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 Url:            http://gcc.gnu.org/
-Version:        4.6.2_20111026
+Version:        4.6.2_20111212
 Release:        1
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -205,7 +205,7 @@
 Patch24:        tls-no-direct.diff
 Patch25:        pr27880.diff
 Patch28:        pr33763.diff
-Patch29:        build-id.diff
+Patch29:        pr50193.diff
 Patch30:        gcc43-no-unwind-tables.diff
 # A set of patches from the RH srpm
 Patch51:        gcc41-ia64-stack-protector.patch
@@ -619,9 +619,7 @@
 %patch24
 %patch25
 %patch28
-%if 0%{suse_version} > 1100
-%patch29
-%endif
+%patch29 -p1
 %patch30
 %patch51
 %patch55
@@ -815,11 +813,15 @@
        --without-system-libunwind \
 %endif
 %endif
+%if 0%{suse_version} > 1100
+       --enable-linker-build-id \
+%endif
 %if "%{TARGET_ARCH}" == "armv5tel"
        --with-arch=armv5te \
        --with-float=softfp \
        --with-mode=arm \
        --with-abi=aapcs-linux \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
        --with-arch=armv7-a \
@@ -828,6 +830,7 @@
        --with-mode=thumb \
        --with-abi=aapcs-linux \
        --with-fpu=vfpv3-d16 \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "powerpc"
        --with-cpu=default32 \
@@ -876,7 +879,12 @@
 #%ifarch %ix86 x86_64 ppc ppc64 ia64
 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" 
BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
 #%else
-make bootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
+%ifarch %arm
+STAGE1_FLAGS="-O0"
+%else
+STAGE1_FLAGS="-O -g"
+%endif
+make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
 #%endif
 #make -C gcc proto
 make info
@@ -1000,6 +1008,20 @@
   fi
 %endif
 done
+%if %{build_cp}
+%if !0%{?building_libjava:1}
+# And we want to move the shlib gdb pretty printers to a more sane
+# place so ldconfig does not complain
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
+mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py 
$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
+%if %{biarch}
+  if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
+    mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
+    mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py 
$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
+  fi
+%endif
+%endif
+%endif
 %if 0%{?building_libjava:1}
 # libgcj_bc is special as the .so file is actually a different
 # library as the library refered to by the SONAME which should


++++++ gcc-4.6.2-20111026.tar.bz2 -> gcc-4.6.2-20111212.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gcc46/gcc-4.6.2-20111026.tar.bz2 
/work/SRC/openSUSE:Factory/.gcc46.new/gcc-4.6.2-20111212.tar.bz2 differ: char 
11, line 1

++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.8495GP/_old  2012-01-06 11:43:54.000000000 +0100
+++ /var/tmp/diff_new_pack.8495GP/_new  2012-01-06 11:43:54.000000000 +0100
@@ -139,7 +139,7 @@
 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
 
 URL:          http://gcc.gnu.org/
-Version: 4.6.2_20111026
+Version: 4.6.2_20111212
 Release:      1
 %define gcc_version %(echo %version | sed 's/_.*//')
 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -190,7 +190,7 @@
 Patch24:       tls-no-direct.diff
 Patch25:       pr27880.diff
 Patch28:       pr33763.diff
-Patch29:       build-id.diff
+Patch29:       pr50193.diff
 Patch30:       gcc43-no-unwind-tables.diff
 # A set of patches from the RH srpm
 Patch51:       gcc41-ia64-stack-protector.patch
@@ -926,9 +926,7 @@
 %patch24
 %patch25
 %patch28
-%if 0%{suse_version} > 1100
-%patch29
-%endif
+%patch29 -p1
 %patch30
 %patch51
 %patch55
@@ -1122,11 +1120,15 @@
        --without-system-libunwind \
 %endif
 %endif
+%if 0%{suse_version} > 1100
+       --enable-linker-build-id \
+%endif
 %if "%{TARGET_ARCH}" == "armv5tel"
        --with-arch=armv5te \
        --with-float=softfp \
        --with-mode=arm \
        --with-abi=aapcs-linux \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
        --with-arch=armv7-a \
@@ -1135,6 +1137,7 @@
        --with-mode=thumb \
        --with-abi=aapcs-linux \
        --with-fpu=vfpv3-d16 \
+       --disable-sjlj-exceptions \
 %endif
 %if "%{TARGET_ARCH}" == "powerpc"
        --with-cpu=default32 \
@@ -1183,7 +1186,12 @@
 #%ifarch %ix86 x86_64 ppc ppc64 ia64
 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" 
BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
 #%else
-make bootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
+%ifarch %arm
+STAGE1_FLAGS="-O0"
+%else
+STAGE1_FLAGS="-O -g"
+%endif
+make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" 
$PARALLEL
 #%endif
 #make -C gcc proto
 make info
@@ -1314,8 +1322,6 @@
 fi
 # For now we do not want to have the python gdb scripts
 rm -Rf $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}
-rm -f $RPM_BUILD_ROOT%{libsubdir}/*/*.py
-rm -f $RPM_BUILD_ROOT%{libsubdir}/*.py
 %endif
 # LIBJAVA-DELETE-END
 
@@ -1358,6 +1364,20 @@
   fi
 %endif
 done
+%if %{build_cp}
+%if !0%{?building_libjava:1}
+# And we want to move the shlib gdb pretty printers to a more sane
+# place so ldconfig does not complain
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
+mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py 
$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
+%if %{biarch}
+  if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
+    mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
+    mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py 
$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
+  fi
+%endif
+%endif
+%endif
 %if 0%{?building_libjava:1}
 # libgcj_bc is special as the .so file is actually a different
 # library as the library refered to by the SONAME which should
@@ -1848,6 +1868,11 @@
 %versmainlib libstdc++.a
 %versmainlib libstdc++.so
 %versmainlib libsupc++.a
+%dir %{_datadir}/gdb
+%dir %{_datadir}/gdb/auto-load
+%dir %{_datadir}/gdb/auto-load%{_prefix}
+%dir %{_datadir}/gdb/auto-load/%{mainlibdir}
+%{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
 
 %if %{separate_biarch}
 %files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
@@ -1855,6 +1880,8 @@
 %versbiarchlib libstdc++.a
 %versbiarchlib libstdc++.so
 %versbiarchlib libsupc++.a
+%dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
+%{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
 %endif
 
 %files -n libstdc++@base_ver@-doc

++++++ pr50193.diff ++++++
--- gcc-4.6.2-20111026/gcc/config/arm/predicates.md     2011-07-12 
17:10:25.000000000 +0200
+++ gcc-4.6.2-20111026/gcc/config/arm/predicates.md     2011-11-07 
19:19:52.442997569 +0100
@@ -218,13 +218,20 @@
        (match_test "mode == GET_MODE (op)")))
 
 ;; True for shift operators.
+;; Notes:
+;;  * mult is only permitted with a constant shift amount
+;;  * patterns that permit register shift amounts only in ARM mode use
+;;    shift_amount_operand, patterns that always allow registers do not,
+;;    so we don't have to worry about that sort of thing here.
 (define_special_predicate "shift_operator"
   (and (ior (ior (and (match_code "mult")
                      (match_test "power_of_two_operand (XEXP (op, 1), mode)"))
                 (and (match_code "rotate")
                      (match_test "GET_CODE (XEXP (op, 1)) == CONST_INT
                                   && ((unsigned HOST_WIDE_INT) INTVAL (XEXP 
(op, 1))) < 32")))
-           (match_code "ashift,ashiftrt,lshiftrt,rotatert"))
+           (and (match_code "ashift,ashiftrt,lshiftrt,rotatert")
+                (match_test "GET_CODE (XEXP (op, 1)) != CONST_INT
+                             || ((unsigned HOST_WIDE_INT) INTVAL (XEXP (op, 
1))) < 32")))
        (match_test "mode == GET_MODE (op)")))
 
 ;; True for MULT, to identify which variant of shift_operator is in use.
--- gcc-4.6.2-20111026/gcc/testsuite/gcc.dg/pr50193-1.c 1970-01-01 
01:00:00.000000000 +0100
+++ gcc-4.6.2-20111026/gcc/testsuite/gcc.dg/pr50193-1.c 2011-11-07 
19:19:52.442997569 +0100
@@ -0,0 +1,10 @@
+/* PR 50193: ARM: ICE on a | (b << negative-constant) */
+/* Ensure that the compiler doesn't ICE.  */
+
+/* { dg-options "-O2" } */
+
+int
+foo(int a, int b)
+{
+  return a | (b << -3); /* { dg-warning "left shift count is negative" } */
+}
--- gcc-4.6.2-20111026/gcc/testsuite/gcc.target/arm/shiftable.c 1970-01-01 
01:00:00.000000000 +0100
+++ gcc-4.6.2-20111026/gcc/testsuite/gcc.target/arm/shiftable.c 2011-11-07 
19:19:52.442997569 +0100
@@ -0,0 +1,63 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-require-effective-target arm32 } */
+
+/* ARM has shift-and-alu insns.  Depending on the ALU op GCC represents some
+   of these as a left shift, others as a multiply.  Check that we match the
+    right one.  */
+
+int
+plus (int a, int b)
+{
+  return (a * 64) + b;
+}
+
+/* { dg-final { scan-assembler "add.*\[al]sl #6" } } */
+
+int
+minus (int a, int b)
+{
+  return a - (b * 64);
+}
+
+/* { dg-final { scan-assembler "sub.*\[al]sl #6" } } */
+
+int
+ior (int a, int b)
+{
+  return (a * 64) | b;
+}
+
+/* { dg-final { scan-assembler "orr.*\[al]sl #6" } } */
+
+int
+xor (int a, int b)
+{
+  return (a * 64) ^ b;
+}
+
+/* { dg-final { scan-assembler "eor.*\[al]sl #6" } } */
+
+int
+and (int a, int b)
+{
+  return (a * 64) & b;
+}
+
+/* { dg-final { scan-assembler "and.*\[al]sl #6" } } */
+
+int
+rsb (int a, int b)
+{
+  return (a * 64) - b;
+}
+
+/* { dg-final { scan-assembler "rsb.*\[al]sl #6" } } */
+
+int
+mvn (int a, int b)
+{
+  return ~(a * 64);
+}
+
+/* { dg-final { scan-assembler "mvn.*\[al]sl #6" } } */
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to