[gcc] 4.7.0-0.2

Jakub Jelinek jakub at fedoraproject.org
Tue Jan 3 14:17:26 UTC 2012


commit 5c29a257402c1e3f62f44c0906c0c5e5bcb5fbb7
Author: Jakub Jelinek <jakub at redhat.com>
Date:   Tue Jan 3 15:17:22 2012 +0100

    4.7.0-0.2

 .gitignore                                         |    1 +
 gcc.spec                                           |  847 ++++++--------------
 gcc46-i386-libgomp.patch                           |   61 --
 gcc46-libstdc++-docs.patch                         |   36 -
 gcc46-sparc-config-detection.patch                 |   40 -
 ...-redecl.patch => gcc47-c++-builtin-redecl.patch |   34 +-
 gcc46-cloog-dl.patch => gcc47-cloog-dl.patch       |   51 +-
 gcc46-hack.patch => gcc47-hack.patch               |   36 +-
 gcc47-i386-libgomp.patch                           |   28 +
 ...-java-nomulti.patch => gcc47-java-nomulti.patch |    0
 ...lib.patch => gcc47-libgomp-omp_h-multilib.patch |    0
 gcc47-libitm-fno-exceptions.patch                  |   26 +
 ...-ctype.patch => gcc47-libjava-prims-ctype.patch |    0
 gcc47-libstdc++-docs.patch                         |   26 +
 ...-no-rpath.patch => gcc47-libtool-no-rpath.patch |    0
 ...o-add-needed.patch => gcc47-no-add-needed.patch |   10 +-
 ...pc32-retaddr.patch => gcc47-ppc32-retaddr.patch |    0
 gcc46-ppl-0.10.patch => gcc47-ppl-0.10.patch       |    0
 gcc46-pr33763.patch => gcc47-pr33763.patch         |   16 +-
 gcc46-pr38757.patch => gcc47-pr38757.patch         |   10 +-
 gcc46-pr47858.patch => gcc47-pr47858.patch         |    0
 gcc46-rh330771.patch => gcc47-rh330771.patch       |    0
 gcc47-sparc-config-detection.patch                 |   40 +
 sources                                            |    2 +-
 24 files changed, 463 insertions(+), 801 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 3268ccc..2b92100 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
 /gcc-4.6.1-20110627.tar.bz2
 /gcc-4.6.1-20110708.tar.bz2
 /gcc-4.6.1-20110715.tar.bz2
+/gcc-4.7.0-20120103.tar.bz2
diff --git a/gcc.spec b/gcc.spec
index 5801bce..92fab44 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20111027
-%global SVNREV 180561
-%global gcc_version 4.6.2
+%global DATE 20120103
+%global SVNREV 182847
+%global gcc_version 4.7.0
 # Note, gcc_release must be integer, if you want to add suffixes to
 # %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 1 
+%global gcc_release 0
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -12,16 +12,17 @@
 %global build_ada 0
 %endif
 %global build_java 1
-%ifarch %{ix86} x86_64
 %global build_go 1
-%else
-%global build_go 0
-%endif
 %ifarch %{ix86} x86_64 ia64
 %global build_libquadmath 1
 %else
 %global build_libquadmath 0
 %endif
+%ifarch %{ix86} x86_64 %{arm} alpha
+%global build_libitm 1
+%else
+%global build_libitm 0
+%endif
 %global build_cloog 1
 %global build_libstdcxx_docs 1
 # If you don't have already a usable gcc-java and libgcj for your arch,
@@ -45,14 +46,14 @@
 Summary: Various compilers (C, C++, Objective-C, Java, ...)
 Name: gcc
 Version: %{gcc_version}
-Release: %{gcc_release}%{?dist}.1
+Release: %{gcc_release}.2%{?dist}
 # libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
 # GCC Runtime Exception.
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
 Group: Development/Languages
 # The source for this package was pulled from upstream's vcs.  Use the
 # following commands to generate the tarball:
-# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_6-branch@%{SVNREV} gcc-%{version}-%{DATE}
+# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_7-branch@%{SVNREV} gcc-%{version}-%{DATE}
 # tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2
 Source0: gcc-%{version}-%{DATE}.tar.bz2
 %global fastjar_ver 0.97
@@ -153,23 +154,22 @@ Requires(post): /sbin/install-info
 Requires(preun): /sbin/install-info
 AutoReq: true
 
-Patch0: gcc46-hack.patch
-Patch2: gcc46-c++-builtin-redecl.patch
-Patch4: gcc46-java-nomulti.patch
-Patch5: gcc46-ppc32-retaddr.patch
-Patch6: gcc46-pr33763.patch
-Patch7: gcc46-rh330771.patch
-Patch8: gcc46-i386-libgomp.patch
-Patch9: gcc46-sparc-config-detection.patch
-Patch10: gcc46-libgomp-omp_h-multilib.patch
-Patch11: gcc46-libtool-no-rpath.patch
-Patch12: gcc46-cloog-dl.patch
-Patch14: gcc46-pr38757.patch
-Patch15: gcc46-libstdc++-docs.patch
-Patch17: gcc46-no-add-needed.patch
-Patch18: gcc46-ppl-0.10.patch
-Patch19: gcc46-pr47858.patch
-Patch20: gcc46-libjava-prims-ctype.patch
+Patch0: gcc47-hack.patch
+Patch1: gcc47-c++-builtin-redecl.patch
+Patch2: gcc47-java-nomulti.patch
+Patch3: gcc47-ppc32-retaddr.patch
+Patch4: gcc47-pr33763.patch
+Patch5: gcc47-rh330771.patch
+Patch6: gcc47-i386-libgomp.patch
+Patch7: gcc47-sparc-config-detection.patch
+Patch8: gcc47-libgomp-omp_h-multilib.patch
+Patch9: gcc47-libtool-no-rpath.patch
+Patch10: gcc47-cloog-dl.patch
+Patch11: gcc47-pr38757.patch
+Patch12: gcc47-libstdc++-docs.patch
+Patch13: gcc47-no-add-needed.patch
+Patch14: gcc47-ppl-0.10.patch
+Patch15: gcc47-libitm-fno-exceptions.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 Patch1001: fastjar-0.97-len1.patch
@@ -193,11 +193,11 @@ Patch1004: fastjar-man.patch
 %endif
 
 %description
-The gcc package contains the GNU Compiler Collection version 4.6.
+The gcc package contains the GNU Compiler Collection version 4.7.
 You'll need this package in order to compile C code.
 
 %package -n libgcc
-Summary: GCC version 4.6 shared support library
+Summary: GCC version 4.7 shared support library
 Group: System Environment/Libraries
 Autoreq: false
 
@@ -398,6 +398,34 @@ Requires: libquadmath-devel = %{version}-%{release}
 This package contains static libraries for building Fortran programs
 using REAL*16 and programs using __float128 math.
 
+%package -n libitm
+Summary: The GNU Transactional Memory library
+Group: System Environment/Libraries
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n libitm
+This package contains the GNU Transactional Memory library
+which is a GCC transactional memory support runtime library.
+
+%package -n libitm-devel
+Summary: The GNU Transactional Memory support
+Group: Development/Libraries
+Requires: libitm = %{version}-%{release}
+Requires: gcc = %{version}-%{release}
+
+%description -n libitm-devel
+This package contains headers and support files for the
+GNU Transactional Memory library.
+
+%package -n libitm-static
+Summary: The GNU Transactional Memory static library
+Group: Development/Libraries
+Requires: libitm-devel = %{version}-%{release}
+
+%description -n libitm-static
+This package contains GNU Transactional Memory static libraries.
+
 %package java
 Summary: Java support for GCC
 Group: Development/Languages
@@ -620,28 +648,27 @@ package or when debugging this package.
 %prep
 %setup -q -n gcc-%{version}-%{DATE}
 %patch0 -p0 -b .hack~
-%patch2 -p0 -b .c++-builtin-redecl~
-%patch4 -p0 -b .java-nomulti~
-%patch5 -p0 -b .ppc32-retaddr~
-%patch6 -p0 -b .pr33763~
-%patch7 -p0 -b .rh330771~
-%patch8 -p0 -b .i386-libgomp~
-%patch9 -p0 -b .sparc-config-detection~
-%patch10 -p0 -b .libgomp-omp_h-multilib~
-%patch11 -p0 -b .libtool-no-rpath~
+%patch1 -p0 -b .c++-builtin-redecl~
+%patch2 -p0 -b .java-nomulti~
+%patch3 -p0 -b .ppc32-retaddr~
+%patch4 -p0 -b .pr33763~
+%patch5 -p0 -b .rh330771~
+%patch6 -p0 -b .i386-libgomp~
+%patch7 -p0 -b .sparc-config-detection~
+%patch8 -p0 -b .libgomp-omp_h-multilib~
+%patch9 -p0 -b .libtool-no-rpath~
 %if %{build_cloog}
-%patch12 -p0 -b .cloog-dl~
+%patch10 -p0 -b .cloog-dl~
 %endif
-%patch14 -p0 -b .pr38757~
+%patch11 -p0 -b .pr38757~
 %if %{build_libstdcxx_docs}
-%patch15 -p0 -b .libstdc++-docs~
+%patch12 -p0 -b .libstdc++-docs~
 %endif
-%patch17 -p0 -b .no-add-needed~
+%patch13 -p0 -b .no-add-needed~
 %if 0%{?fedora} < 15 || 0%{?rhel} < 7
-%patch18 -p0 -b .ppl-0.10~
+%patch14 -p0 -b .ppl-0.10~
 %endif
-%patch19 -p0 -b .pr47858~
-%patch20 -p0 -b .libjava-prims-ctype~
+%patch15 -p0 -b .libitm-fno-exceptions~
 
 %if 0%{?_enable_debug_packages}
 cat > split-debuginfo.sh <<\EOF
@@ -653,7 +680,7 @@ if [ -f "${BUILDDIR}"/debugfiles.list \
   > "${BUILDDIR}"/debugfiles-base.list
   cd "${RPM_BUILD_ROOT}"
   for f in `find usr/lib/debug -name \*.debug \
-	    | egrep 'lib[0-9]*/lib(gcc|gomp|stdc)'`; do
+	    | egrep 'lib[0-9]*/lib(gcc|gomp|stdc|quadmath|itm)'`; do
     echo "/$f" >> "${BUILDDIR}"/debugfiles-base.list
     if [ -f "$f" -a ! -L "$f" ]; then
       cp -a "$f" "${BUILDDIR}"/test.debug
@@ -664,7 +691,7 @@ if [ -f "${BUILDDIR}"/debugfiles.list \
     fi
   done
   for f in `find usr/lib/debug/.build-id -type l`; do
-    ls -l "$f" | egrep -q -- '->.*lib[0-9]*/lib(gcc|gomp|stdc)' \
+    ls -l "$f" | egrep -q -- '->.*lib[0-9]*/lib(gcc|gomp|stdc|quadmath|itm)' \
       && echo "/$f" >> "${BUILDDIR}"/debugfiles-base.list
   done
   grep -v -f "${BUILDDIR}"/debugfiles-base.list \
@@ -705,7 +732,7 @@ tar xzf %{SOURCE4}
 tar xjf %{SOURCE10}
 %endif
 
-sed -i -e 's/4\.6\.3/4.6.2/' gcc/BASE-VER
+sed -i -e 's/4\.7\.0/4.7.0/' gcc/BASE-VER
 echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
 
 %if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
@@ -852,8 +879,9 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`"
 	../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
 	--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap \
 	--enable-shared --enable-threads=posix --enable-checking=release \
+	--disable-build-with-cxx --disable-build-poststage1-with-cxx \
 	--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
-	--enable-gnu-unique-object --enable-linker-build-id \
+	--enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu \
 	--enable-languages=c,c++,objc,obj-c++,java,fortran${enablelada}${enablelgo},lto \
 	--enable-plugin \
 %if !%{build_java}
@@ -917,8 +945,8 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`"
 	--build=%{gcc_target_platform}
 %endif
 
-#GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
-GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
+GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
+#GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
 
 # Make generated man pages even if Pod::Man is not new enough
 perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
@@ -940,7 +968,7 @@ cd ../..
 cd ..
 mkdir -p rpm.doc/gfortran rpm.doc/objc
 mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava
-mkdir -p rpm.doc/go rpm.doc/libgo rpm.doc/libquadmath
+mkdir -p rpm.doc/go rpm.doc/libgo rpm.doc/libquadmath rpm.doc/libitm
 mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}
 
 for i in {gcc,gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}/ChangeLog*; do
@@ -974,6 +1002,11 @@ cp -p libjava/LIBGCJ_LICENSE rpm.doc/libjava/
 	cp -p $i ../rpm.doc/libquadmath/$i.libquadmath
 done)
 %endif
+%if %{build_libitm}
+(cd libitm; for i in ChangeLog*; do
+	cp -p $i ../rpm.doc/libitm/$i.libitm
+done)
+%endif
 %if %{build_go}
 (cd gcc/go; for i in README* ChangeLog*; do
 	cp -p $i ../../rpm.doc/go/$i
@@ -1123,6 +1156,7 @@ sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' \
 %endif
 
 mv %{buildroot}%{_prefix}/lib/libgfortran.spec $FULLPATH/
+mv %{buildroot}%{_prefix}/lib/libitm.spec $FULLPATH/
 
 mkdir -p %{buildroot}/%{_lib}
 mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
@@ -1200,7 +1234,7 @@ popd
 
 pushd $FULLPATH
 if [ "%{_lib}" = "lib" ]; then
-ln -sf ../../../libobjc.so.3 libobjc.so
+ln -sf ../../../libobjc.so.4 libobjc.so
 ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
 ln -sf ../../../libgfortran.so.3.* libgfortran.so
 ln -sf ../../../libgomp.so.1.* libgomp.so
@@ -1212,13 +1246,16 @@ ln -sf ../../../libgo.so.0.* libgo.so
 %if %{build_libquadmath}
 ln -sf ../../../libquadmath.so.0.* libquadmath.so
 %endif
+%if %{build_libitm}
+ln -sf ../../../libitm.so.1.* libitm.so
+%endif
 %if %{build_java}
-ln -sf ../../../libgcj.so.12.* libgcj.so
-ln -sf ../../../libgcj-tools.so.12.* libgcj-tools.so
-ln -sf ../../../libgij.so.12.* libgij.so
+ln -sf ../../../libgcj.so.13.* libgcj.so
+ln -sf ../../../libgcj-tools.so.13.* libgcj-tools.so
+ln -sf ../../../libgij.so.13.* libgij.so
 %endif
 else
-ln -sf ../../../../%{_lib}/libobjc.so.3 libobjc.so
+ln -sf ../../../../%{_lib}/libobjc.so.4 libobjc.so
 ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so
 ln -sf ../../../../%{_lib}/libgfortran.so.3.* libgfortran.so
 ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
@@ -1230,10 +1267,13 @@ ln -sf ../../../../%{_lib}/libgo.so.0.* libgo.so
 %if %{build_libquadmath}
 ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
 %endif
+%if %{build_libitm}
+ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so
+%endif
 %if %{build_java}
-ln -sf ../../../../%{_lib}/libgcj.so.12.* libgcj.so
-ln -sf ../../../../%{_lib}/libgcj-tools.so.12.* libgcj-tools.so
-ln -sf ../../../../%{_lib}/libgij.so.12.* libgij.so
+ln -sf ../../../../%{_lib}/libgcj.so.13.* libgcj.so
+ln -sf ../../../../%{_lib}/libgcj-tools.so.13.* libgcj-tools.so
+ln -sf ../../../../%{_lib}/libgij.so.13.* libgij.so
 %endif
 fi
 %if %{build_java}
@@ -1248,6 +1288,9 @@ mv -f %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.*a $FULLLPATH/
 %if %{build_libquadmath}
 mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/
 %endif
+%if %{build_libitm}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libitm.*a $FULLLPATH/
+%endif
 %if %{build_go}
 mv -f %{buildroot}%{_prefix}/%{_lib}/libgo.*a $FULLLPATH/
 mv -f %{buildroot}%{_prefix}/%{_lib}/libgobegin.*a $FULLLPATH/
@@ -1265,35 +1308,35 @@ mv -f $FULLPATH/ada{include,lib} $FULLLPATH/
 pushd $FULLLPATH/adalib
 if [ "%{_lib}" = "lib" ]; then
 ln -sf ../../../../../libgnarl-*.so libgnarl.so
-ln -sf ../../../../../libgnarl-*.so libgnarl-4.6.so
+ln -sf ../../../../../libgnarl-*.so libgnarl-4.7.so
 ln -sf ../../../../../libgnat-*.so libgnat.so
-ln -sf ../../../../../libgnat-*.so libgnat-4.6.so
+ln -sf ../../../../../libgnat-*.so libgnat-4.7.so
 else
 ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so
-ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.6.so
+ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.7.so
 ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so
-ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.6.so
+ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.7.so
 fi
 popd
 else
 pushd $FULLPATH/adalib
 if [ "%{_lib}" = "lib" ]; then
 ln -sf ../../../../libgnarl-*.so libgnarl.so
-ln -sf ../../../../libgnarl-*.so libgnarl-4.6.so
+ln -sf ../../../../libgnarl-*.so libgnarl-4.7.so
 ln -sf ../../../../libgnat-*.so libgnat.so
-ln -sf ../../../../libgnat-*.so libgnat-4.6.so
+ln -sf ../../../../libgnat-*.so libgnat-4.7.so
 else
 ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so
-ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.6.so
+ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.7.so
 ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so
-ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.6.so
+ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.7.so
 fi
 popd
 fi
 %endif
 
 %ifarch sparcv9 ppc
-ln -sf ../../../../../lib64/libobjc.so.3 64/libobjc.so
+ln -sf ../../../../../lib64/libobjc.so.4 64/libobjc.so
 ln -sf ../`echo ../../../../lib/libstdc++.so.6.*[0-9] | sed s~/lib/~/lib64/~` 64/libstdc++.so
 ln -sf ../`echo ../../../../lib/libgfortran.so.3.* | sed s~/lib/~/lib64/~` 64/libgfortran.so
 ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
@@ -1312,10 +1355,15 @@ rm -f libquadmath.so
 echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so
 echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 64/libquadmath.so
 %endif
+%if %{build_libitm}
+rm -f libitm.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 64/libitm.so
+%endif
 %if %{build_java}
-ln -sf ../`echo ../../../../lib/libgcj.so.12.* | sed s~/lib/~/lib64/~` 64/libgcj.so
-ln -sf ../`echo ../../../../lib/libgcj-tools.so.12.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so
-ln -sf ../`echo ../../../../lib/libgij.so.12.* | sed s~/lib/~/lib64/~` 64/libgij.so
+ln -sf ../`echo ../../../../lib/libgcj.so.13.* | sed s~/lib/~/lib64/~` 64/libgcj.so
+ln -sf ../`echo ../../../../lib/libgcj-tools.so.13.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so
+ln -sf ../`echo ../../../../lib/libgij.so.13.* | sed s~/lib/~/lib64/~` 64/libgij.so
 ln -sf lib32/libgcj_bc.so libgcj_bc.so
 ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so
 %endif
@@ -1335,6 +1383,10 @@ ln -sf ../lib64/libmudflapth.a 64/libmudflapth.a
 ln -sf lib32/libquadmath.a libquadmath.a
 ln -sf ../lib64/libquadmath.a 64/libquadmath.a
 %endif
+%if %{build_libitm}
+ln -sf lib32/libitm.a libitm.a
+ln -sf ../lib64/libitm.a 64/libitm.a
+%endif
 %if %{build_go}
 ln -sf lib32/libgo.a libgo.a
 ln -sf ../lib64/libgo.a 64/libgo.a
@@ -1350,7 +1402,7 @@ ln -sf ../lib64/adalib 64/adalib
 %endif
 %ifarch %{multilib_64_archs}
 mkdir -p 32
-ln -sf ../../../../libobjc.so.3 32/libobjc.so
+ln -sf ../../../../libobjc.so.4 32/libobjc.so
 ln -sf ../`echo ../../../../lib64/libstdc++.so.6.*[0-9] | sed s~/../lib64/~/~` 32/libstdc++.so
 ln -sf ../`echo ../../../../lib64/libgfortran.so.3.* | sed s~/../lib64/~/~` 32/libgfortran.so
 ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
@@ -1369,10 +1421,15 @@ rm -f libquadmath.so
 echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so
 echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 32/libquadmath.so
 %endif
+%if %{build_libitm}
+rm -f libitm.so
+echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so
+echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 32/libitm.so
+%endif
 %if %{build_java}
-ln -sf ../`echo ../../../../lib64/libgcj.so.12.* | sed s~/../lib64/~/~` 32/libgcj.so
-ln -sf ../`echo ../../../../lib64/libgcj-tools.so.12.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
-ln -sf ../`echo ../../../../lib64/libgij.so.12.* | sed s~/../lib64/~/~` 32/libgij.so
+ln -sf ../`echo ../../../../lib64/libgcj.so.13.* | sed s~/../lib64/~/~` 32/libgcj.so
+ln -sf ../`echo ../../../../lib64/libgcj-tools.so.13.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
+ln -sf ../`echo ../../../../lib64/libgij.so.13.* | sed s~/../lib64/~/~` 32/libgij.so
 %endif
 mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
 mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
@@ -1392,6 +1449,10 @@ ln -sf lib64/libmudflapth.a libmudflapth.a
 ln -sf ../lib32/libquadmath.a 32/libquadmath.a
 ln -sf lib64/libquadmath.a libquadmath.a
 %endif
+%if %{build_libitm}
+ln -sf ../lib32/libitm.a 32/libitm.a
+ln -sf lib64/libitm.a libitm.a
+%endif
 %if %{build_go}
 ln -sf ../lib32/libgo.a 32/libgo.a
 ln -sf lib64/libgo.a libgo.a
@@ -1418,6 +1479,9 @@ ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libm
 %if %{build_libquadmath}
 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libquadmath.a 32/libquadmath.a
 %endif
+%if %{build_libitm}
+ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libitm.a 32/libitm.a
+%endif
 %if %{build_go}
 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgo.a 32/libgo.a
 ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgobegin.a 32/libgobegin.a
@@ -1436,7 +1500,8 @@ ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/adal
 strip -g `find . \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
 		    -o -name libmudflap.a -o -name libmudflapth.a \
 		    -o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
-		    -o -name libgo.a \) -a -type f`
+		    -o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \) \
+		 -a -type f`
 popd
 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.3.*
 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
@@ -1444,10 +1509,13 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.so.0.*
 %if %{build_libquadmath}
 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
 %endif
+%if %{build_libitm}
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.*
+%endif
 %if %{build_go}
 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgo.so.0.*
 %endif
-chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.3.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.4.*
 
 %if %{build_ada}
 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so*
@@ -1538,7 +1606,7 @@ touch %{buildroot}%{_prefix}/%{_lib}/gcj-%{version}/classmap.db
 rm -f %{buildroot}%{mandir}/man3/ffi*
 
 # Help plugins find out nvra.
-echo gcc-%{version}-%{release}.%{arch} > $FULLPATH/rpmver
+echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver
 
 %check
 cd obj-%{gcc_target_platform}
@@ -1726,6 +1794,21 @@ fi
 
 %postun -n libquadmath -p /sbin/ldconfig
 
+%post -n libitm
+/sbin/ldconfig
+if [ -f %{_infodir}/libitm.info.gz ]; then
+  /sbin/install-info \
+    --info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
+fi
+
+%preun -n libitm
+if [ $1 = 0 -a -f %{_infodir}/libitm.info.gz ]; then
+  /sbin/install-info --delete \
+    --info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
+fi
+
+%postun -n libitm -p /sbin/ldconfig
+
 %post -n libgo -p /sbin/ldconfig
 
 %postun -n libgo -p /sbin/ldconfig
@@ -1774,6 +1857,8 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/omp.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdint.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdint-gcc.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdalign.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdnoreturn.h
 %ifarch %{ix86} x86_64
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mmintrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xmmintrin.h
@@ -1791,11 +1876,15 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/fma4intrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xopintrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/lwpintrin.h
-%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/abmintrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/popcntintrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/bmiintrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/tbmintrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ia32intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avx2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/bmi2intrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/f16cintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/fmaintrin.h
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/lzcntintrin.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm_malloc.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm3dnow.h
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cpuid.h
@@ -1823,6 +1912,7 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.spec
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.so
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.spec
 %ifarch sparcv9 ppc
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/crt*.o
@@ -1840,6 +1930,10 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libquadmath.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libquadmath.so
 %endif
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libitm.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libitm.so
+%endif
 %endif
 %ifarch %{multilib_64_archs}
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
@@ -1858,6 +1952,10 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libquadmath.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libquadmath.so
 %endif
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libitm.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libitm.so
+%endif
 %endif
 %ifarch sparcv9 sparc64 ppc ppc64
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a
@@ -1868,6 +1966,10 @@ fi
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.so
 %endif
+%if %{build_libitm}
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.so
+%endif
 %endif
 %dir %{_prefix}/libexec/getconf
 %{_prefix}/libexec/getconf/default
@@ -2013,7 +2115,7 @@ fi
 
 %files -n libobjc
 %defattr(-,root,root,-)
-%{_prefix}/%{_lib}/libobjc.so.3*
+%{_prefix}/%{_lib}/libobjc.so.4*
 
 %files gfortran
 %defattr(-,root,root,-)
@@ -2035,6 +2137,7 @@ fi
 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/f951
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.spec
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortranbegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libcaf_single.a
 %ifarch sparcv9 sparc64 ppc ppc64
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.a
 %endif
@@ -2042,12 +2145,14 @@ fi
 %ifarch sparcv9 ppc
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortranbegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libcaf_single.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.so
 %endif
 %ifarch %{multilib_64_archs}
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortranbegin.a
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libcaf_single.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.a
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.so
 %endif
@@ -2376,6 +2481,43 @@ fi
 %endif
 %endif
 
+%if %{build_libitm}
+%files -n libitm
+%defattr(-,root,root,-)
+%{_prefix}/%{_lib}/libitm.so.1*
+%{_infodir}/libitm.info*
+
+%files -n libitm-devel
+%defattr(-,root,root,-)
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
+#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/itm.h
+#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/itm_weak.h
+%ifnarch sparcv9 sparc64 ppc ppc64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.so
+%endif
+%doc rpm.doc/libitm/ChangeLog*
+
+%files -n libitm-static
+%defattr(-,root,root,-)
+%dir %{_prefix}/lib/gcc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
+%ifarch sparcv9 ppc
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libitm.a
+%endif
+%ifarch sparc64 ppc64
+%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libitm.a
+%endif
+%ifnarch sparcv9 sparc64 ppc ppc64
+%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libitm.a
+%endif
+%endif
+
 %if %{build_go}
 %files go
 %defattr(-,root,root,-)
@@ -2466,527 +2608,30 @@ fi
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
+%dir %{_prefix}/libexec/gcc
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
+%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
 
 %changelog
-* Mon Oct 31 2011 Rex Dieter <rdieter at fedoraproject.org> 4.6.2-1.fc17.1
-- rebuild (gmp)
-
-* Thu Oct 27 2011 Jakub Jelinek <jakub at redhat.com> 4.6.2-1
-- update from the 4.6 branch
-  - GCC 4.6.2 release
-  - PRs c++/44473, c++/49216, c++/49855, c++/49896, c++/50531, c++/50611,
-	c++/50618, c++/50787, c++/50793, c/50565, debug/50816, fortran/47023,
-	fortran/48706, fortran/50016, fortran/50273, fortran/50570,
-	fortran/50585, fortran/50625, fortran/50659, fortran/50718,
-	libobjc/49883, libobjc/50002, libstdc++/48698, middle-end/49801,
-	middle-end/50326, middle-end/50386, obj-c++/48275, objc-++/48275,
-	target/49049, target/49824, target/49965, target/49967, target/50106,
-	target/50350, target/50652, target/50737, target/50788, target/50820,
-	tree-optimization/49279, tree-optimization/50189,
-	tree-optimization/50700, tree-optimization/50712,
-	tree-optimization/50723
-- add armv7hl configury options (#746843)
-- add `gcc -print-file-name=rpmver` file with gcc NVRA for plugins
-  (#744922)
-- fix build against current glibc, ctype.h changes broke libjava compilation
-
-* Mon Oct  2 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-10
-- update from the 4.6 branch
-  - PRs c++/20039, c++/40831, c++/42844, c++/46105, c++/48320, c++/50424,
-	c++/50442, c++/50491, c++/50508, inline-asm/50571, libstdc++/49559,
-	libstdc++/50509, libstdc++/50510, libstdc++/50529, middle-end/49886,
-	target/50091, target/50341, target/50464, testsuite/50487,
-	tree-optimization/49518, tree-optimization/49628,
-	tree-optimization/49911, tree-optimization/50162,
-	tree-optimization/50412, tree-optimization/50413,
-	tree-optimization/50472
-- recognize IVs with REFERENCE_TYPE in simple_iv similarly to
-  IVs with POINTER_TYPE (#528578)
-- return larger types for odd-sized precision in Fortran type_for_size
-  langhook if possible
-
-* Thu Sep  8 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-9
-- update from the 4.6 branch
-  - PRs c++/49267, c++/50089, c++/50157, c++/50207, c++/50220, c++/50224,
-	c++/50234, c++/50255, c++/50309, c/50179, fortran/50163,
-	libffi/49594, libfortran/50192, libstdc++/50268, middle-end/50116,
-	middle-end/50266, target/50090, target/50202, target/50289,
-	target/50310, tree-optimization/50178
-- debug info related backports from the trunk
-  - PRs debug/50191, debug/50215
-- fix call site debug info on big endian targets (PR debug/50299)
-- put libgcc.a into libgcc_s.so linker script also on arm (#733549)
-- use %%{?fedora} instead of %%{fedora}, handle 0%%{?rhel} >= 7 like
-  0%%{?fedora} >= 16
-
-* Wed Aug 24 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-8
-- update from the 4.6 branch
-  - PRs c++/46862, c++/48993, c++/49669, c++/49921, c++/49988, c++/50024,
-	c++/50054, c++/50086, fortran/49792, fortran/50050, fortran/50109,
-	fortran/50129, fortran/50130, middle-end/49923, target/50001,
-	target/50092, tree-optimization/48739
-- build EH_SPEC_BLOCK with the same location as current function
-  to help gcov (#732802, PR c++/50055)
-- support used attribute on template class methods and static data
-  members for forced instantiation (#722587)
-- fix up location copying in the vectorizer (PR tree-optimization/50133)
-- unshare CALL_INSN_FUNCTION_USAGE (PR middle-end/48722)
-- fix up gthr*.h for -E -C (#713800)
-
-* Thu Aug  4 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-7
-- update from the 4.6 branch
-  - PRs c++/43886, c++/49593, c++/49803, fortran/49885,
-	tree-optimization/49948
-- add self_spec support to specs
-- add COPYING.RUNTIME to gcc and libgcc docs (#727809)
-- SPARC entry_value fixes (PRs target/48220, debug/49815)
-- fix up c-family headers in gcc-plugin-devel (#728011, PRs plugins/45348,
-  plugins/46577, plugins/48425)
-
-* Tue Aug  2 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-6
-- update from the 4.6 branch
-  - PRs c++/49260, c++/49924, libstdc++/49925, target/47908, target/49920
-  - fix libquadmath on i686 (#726909)
-- OpenMP 3.1 support (PR fortran/42041, PR fortran/46752)
-%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
-- make -grecord-gcc-switches the default
-%endif
-
-* Sun Jul 31 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-5
-- update from the 4.6 branch
-  - PRs debug/49871, fortran/48876, fortran/49791, middle-end/49897,
-	middle-end/49898, rtl-optimization/49799, target/47364
-- don't attempt to size optimize -gdwarf-2 DW_AT_data_member_location
-  from DW_OP_plus_uconst form
-
-* Wed Jul 27 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-4
-- update from the 4.6 branch
-  - PRs ada/49819, c++/49785, debug/47393, fortran/49648, fortran/49708,
-	middle-end/49675, middle-end/49732, target/39386, target/49600,
-	target/49723, target/49746, testsuite/49753, tree-opt/49671,
-	tree-optimization/45819, tree-optimization/49309,
-	tree-optimization/49725, tree-optimization/49768
-- require gmp-devel, mpfr-devel and libmpc-devel in gcc-plugin-devel
-  (#725569)
-- backport -grecord-gcc-switches (#507759, PR other/32998)
-%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
-- more compact debug macro info for -g3 - .debug_macro section
-- improve call site debug info for some floating point parameters
-  passed on the stack (PR debug/49846)
-%endif
-- fix -mcmodel=large call constraints (PR target/49866, #725516)
-
-* Fri Jul 15 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-3
-- update from the 4.6 branch
-  - PRs ada/46350, ada/48711, c++/49672, fortran/48926, fortran/49562,
-	fortran/49690, fortran/49698, target/39633, target/46779,
-	target/49487, target/49541, target/49621, tree-opt/49309,
-	tree-optimization/49094, tree-optimization/49651
-- backport -march=bdver2 and -mtune=bdver2 support
-%if 0%{?fedora} < 16 || 0%{?rhel} >= 7
-- use ENTRY_VALUE RTLs internally to improve generated debug info,
-  just make sure to remove it from possible options before emitting
-  var-tracking notes
-%endif
-
-* Fri Jul  8 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-2
-- update from the 4.6 branch
-  - PRs ada/49511, bootstrap/23656, bootstrap/49247, c++/48157, c/48825,
-	c++/49418, c++/49440, c++/49528, c++/49598, c/49644, debug/49262,
-	debug/49522, fortran/49466, fortran/49479, fortran/49623,
-	libffi/46660, libfortran/49296, middle-end/49640, other/47733,
-	regression/47836, rtl-optimization/49014, rtl-optimization/49472,
-	rtl-optimization/49619, target/34734, target/47997, target/48273,
-	target/49089, target/49335, target/49660, testsuite/49643,
-	tree-optimization/38752, tree-optimization/49516,
-	tree-optimization/49539, tree-optimization/49572,
-	tree-optimization/49615, tree-optimization/49618
-  - decrease compiler memory and time requirements on Fortran DATA
-    with many times repeated initializers (#716721, PR fortran/49540)
-- backport some debuginfo improvements and fixes
-  - PRs debug/49364, debug/49602
-  - fix typed DWARF stack ICE (#717240, PR49567)
-- backport __builtin_assume_aligned support (#713586)
-- backport further C++ FE improvements for heavy overloading use
-  (#651098, PR c++/48481)
-
-* Mon Jun 27 2011 Jakub Jelinek <jakub at redhat.com> 4.6.1-1
-- update from the 4.6 branch
-  - GCC 4.6.1 release
-  - PRs c++/33840, c++/49117, c++/49134, c++/49229, c++/49251, c++/49264,
-	c++/49276, c++/49290, c++/49298, c++/49369, c++/49482, c++/49507,
-	debug/47590, debug/48459, fortran/47601, fortran/48699,
-	fortran/49074, fortran/49103, fortran/49112, fortran/49268,
-	fortran/49324, fortran/49417, gcov-profile/49299, middle-end/49191,
-	rtl-optimization/48542, rtl-optimization/49235, target/44618,
-	target/48454, target/49186, target/49238, target/49307, target/49411,
-	target/49461, testsuite/49432, tree-optimization/48613,
-	tree-optimization/48702, tree-optimization/49038,
-	tree-optimization/49115, tree-optimization/49243,
-	tree-optimization/49419
-  - fix GCSE (#712480, PR rtl-optimization/49390)
-- use rm -f and mv -f in split-debuginfo.sh (#716664)
-- backport some debuginfo improvements and bugfixes
-%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
-  - improve debug info for IPA-SRA through DW_OP_GNU_parameter_ref
-    (PR debug/47858)
-  - emit DW_OP_GNU_convert <0> as convert to untyped
-%endif
-  - emit .debug_loc empty ranges for parameters that are
-    modified even before first insn in a function (PR debug/49382)
-  - fix debug ICE on s390x (PR debug/49544)
-  - VTA ICE fix (PR middle-end/49308)
-- balance work in #pragma omp for schedule(static) better (PR libgomp/49490)
-
-* Fri Jun  3 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-10
-- update from the 4.6 branch
-  - PRs fortran/45786, fortran/49265, middle-end/48953, middle-end/48985,
-	tree-optimization/49093
-- backport some debuginfo improvements
-  - PRs debug/47919, debug/47994, debug/49250
-- decrease C++ FE memory usage on code with heavy overloading
-  (#651098, PR c++/48481)
-
-* Mon May 30 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-9
-- update from the 4.6 branch
-  - PRs c++/44311, c++/44994, c++/45080, c++/45401, c++/45418, c++/45698,
-	c++/46005, c++/46245, c++/46696, c++/47049, c++/47184, c++/47277,
-	c++/48284, c++/48292, c++/48424, c++/48935, c++/49156, c++/49165,
-	c++/49176, c++/49223, fortran/48955, libobjc/48177, libstdc++/49141,
-	target/43700, target/43995, target/44643, target/45263,
-	tree-optimization/44897, tree-optimization/49161,
-	tree-optimization/49217, tree-optimization/49218
-%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
-- default to -gdwarf-4 -fno-debug-types-section instead of -gdwarf-3
-- backport DW_OP_GNU_entry_value support
-  (PRs rtl-optimization/48826, debug/48902, bootstrap/48148,
-   debug/48203, bootstrap/48168, debug/48023, debug/48178,
-   debug/48163, debug/48160, bootstrap/48153, middle-end/48152,
-   bootstrap/48148, debug/45882)
-- backport DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret}
-  support (PRs debug/48928, debug/48853)
-%endif
-- split off debuginfo for libgcc_s, libstdc++ and libgomp into
-  gcc-base-debuginfo subpackage (#706973)
-- run ldconfig in libgcc %%postun, drop libcc_post_upgrade,
-  instead write the script in <lua> (#705832)
-
-* Wed May 25 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-8
-- update from the 4.6 branch
-  - PRs bootstrap/49086, c++/47263, c++/47336, c++/47544, c++/48522,
-	c++/48617, c++/48647, c++/48736, c++/48745, c++/48780, c++/48859,
-	c++/48869, c++/48873, c++/48884, c++/48945, c++/48948, c++/49042,
-	c++/49043, c++/49066, c++/49082, c++/49105, c++/49136, c/49120,
-	debug/48159, debug/49032, fortran/48889, libstdc++/49058, lto/48207,
-	lto/48703, lto/49123, middle-end/48973, middle-end/49029,
-	preprocessor/48677, target/48986, target/49002, target/49104,
-	target/49128, target/49133, tree-optimization/48172,
-	tree-optimization/48794, tree-optimization/48822,
-	tree-optimization/48975, tree-optimization/49000,
-	tree-optimization/49018, tree-optimization/49039,
-	tree-optimization/49073, tree-optimization/49079
-  - ppc V2DImode ABI fix (#705764, PR target/48857)
-  - fix ppc var-tracking ICE (#703888, PR debug/48967)
-
-* Mon May  9 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-7
-- update from the 4.6 branch
-  - PRs ada/48844, c++/40975, c++/48089, c++/48446, c++/48656, c++/48749,
-	c++/48838, c++/48909, c++/48911, fortran/48112, fortran/48279,
-	fortran/48462, fortran/48720, fortran/48746, fortran/48788,
-	fortran/48800, fortran/48810, fortran/48894, libgfortran/48030,
-	libstdc++/48750, libstdc++/48760, lto/48846, middle-end/48597,
-	preprocessor/48192, target/48226, target/48252, target/48262,
-	target/48774, target/48900, tree-optimization/48809
-- fix ICE with references in templates (PR c++/48574)
-- disable tail call optimization if tail recursion needs accumulators
-  (PR PR tree-optimization/48837)
-
-* Thu Apr 28 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-6
-- update from the 4.6 branch
-  - PRs c++/42687, c++/46304, c++/48046, c++/48657, c++/48707, c++/48726,
-	c/48685, c/48716, c/48742, debug/48768, fortran/47976,
-	fortran/48588, libstdc++/48521, lto/48148, lto/48492,
-	middle-end/48695, other/48748, preprocessor/48740, target/48288,
-	target/48708, target/48723, tree-optimization/48611,
-	tree-optimization/48717, tree-optimization/48731,
-	tree-optimization/48734
-
-* Tue Apr 19 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-5
-- update from the 4.6 branch
-  - PRs c++/48537, c++/48632, fortran/48360, fortran/48456,
-	libfortran/47571, libstdc++/48476, libstdc++/48631,
-	libstdc++/48635, lto/48538, middle-end/46364, middle-end/48661,
-	preprocessor/48248, target/48366, target/48605, target/48614,
-	target/48678, testsuite/48675, tree-optimization/48616
-  - fix calling functor or non-pointer-to-member through
-    overloaded pointer-to-member operator (#695567, PR c++/48594)
-
-* Wed Apr 13 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-4
-- update from the 4.6 branch
-  - PRs c++/48450, c++/48452, c++/48468, c++/48500, c++/48523, c++/48528,
-	c++/48534, c++/48570, c++/48574, c/48517, libstdc++/48465,
-	libstdc++/48541, libstdc++/48566, target/47829, target/48090,
-	testsuite/48506, tree-optimization/48195, tree-optimization/48377
-  - fix combiner with -g (#695019, PR rtl-optimization/48549)
-  - fix OpenMP atomic __float128 handling on i?86 (#696129,
-    PR middle-end/48591)
-
-* Fri Apr  8 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-3
-- update from the 4.6 branch
-  - PRs bootstrap/48431, c++/48280, debug/48343, debug/48466, fortran/48117,
-	fortran/48291, libstdc++/48398, middle-end/48335,
-	rtl-optimization/48143, rtl-optimization/48144, target/16292,
-	target/48142
-  - don't ICE because of empty partitions during LTO (#688767, PR lto/48246)
-- don't emit DW_AT_*_pc for CUs without any code
-
-* Thu Mar 31 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-2
-- update from the 4.6 branch
-  - PRs c++/47504, c++/47570, c++/47999, c++/48166, c++/48212, c++/48265,
-	c++/48281, c++/48289, c++/48296, c++/48313, c++/48319, c++/48369,
-	debug/48041, debug/48253, preprocessor/48248, target/48349
-- add -fno-debug-types-section switch
-- don't emit .debug_abbrev section if it is empty and unused
-
-* Tue Mar 29 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-1
-- update from the 4.6 branch
-  - GCC 4.6.0 release
-  - PRs c/42544, c/48197, debug/48204, middle-end/48031,
-	middle-end/48134, middle-end/48269, other/48179, other/48221,
-	other/48234, rtl-optimization/48156, target/47553,
-	target/48237, testsuite/48251, tree-optimization/48228
-  - improve RTL DSE speed with large number of stores (#684900,
-    PR rtl-optimization/48141)
-- add gnative2ascii binary and man page to libgcj
-
-* Mon Mar 21 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.15
-- update from the 4.6 branch
-  - PRs bootstrap/45381, bootstrap/48135
-- fix s390 ICE during address delegitimization (PR target/48213, #689266)
-
-* Fri Mar 18 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.14
-- update from the 4.6 branch
-  - PRs bootstrap/48161, c++/48113, c++/48115, c++/48132, debug/47510,
-	debug/48176, libstdc++/48123, middle-end/47405, middle-end/48165,
-	target/46778, target/46788, target/48171
-- update libstdc++ pretty printers from trunk
-
-* Tue Mar 15 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.13
-- update from trunk and the 4.6 branch
-  - PRs bootstrap/48000, bootstrap/48102, c++/44629, c++/45651, c++/46220,
-	c++/46803, c++/47125, c++/47144, c++/47198, c++/47488, c++/47705,
-	c++/47808, c++/47957, c++/47971, c++/48003, c++/48008, c++/48015,
-	c++/48029, c++/48035, c++/48069, c/47786, debug/47881, debug/48043,
-	fortran/47552, fortran/47850, fortran/48054, fortran/48059,
-	libfortran/48066, libgfortran/48047, libstdc++/48038, libstdc++/48114,
-	lto/47497, lto/48073, lto/48086, middle-end/47968, middle-end/47975,
-	middle-end/48044, middle-end/48098, rtl-optimization/47866,
-	rtl-optimization/47899, target/45413, target/47719, target/47862,
-	target/47986, target/48032, target/48053, testsuite/47954,
-	tree-optimization/47127, tree-optimization/47278,
-	tree-optimization/47714, tree-optimization/47967,
-	tree-optimization/48022, tree-optimization/48063,
-	tree-optimization/48067
-  - fix var-tracking ICE on s390x (#682410, PR debug/47991)
-
-* Fri Mar  4 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.12
-- update from trunk
-  - PRs c++/46159, c++/46282, c++/47200, c++/47774, c++/47851, c++/47950,
-	c++/47974, c/47963, libstdc++/47913, middle-end/47283,
-	rtl-optimization/47925, target/47935, tree-optimization/47890
-- rebuilt against ppl 0.11.2, reenable cloog-ppl Requires
-
-* Tue Mar  1 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.11
-- update from trunk
-  - PRs c++/46466, c++/47873, c++/47897, c++/47906, debug/28047,
-	fortran/40850, fortran/47839, fortran/47846, fortran/47872,
-	fortran/47878, fortran/47886, fortran/47894, libfortran/45165,
-	libfortran/47802, libgfortran/47778, libgfortran/47933,
-	libobjc/47922, libstdc++/42622, libstdc++/47921, lto/46911,
-	lto/47924, middle-end/46790, middle-end/47903, target/42240,
-	target/45261, target/46898, testsuite/47801, tree-optimization/45470
-  - fix stack slot padding reusal (#679924, PR middle-end/47893)
-  - fix ICE on DECL_PARM_INDEX in cp_tree_equal (#680603, PR c++/47904)
-- disable IPA-SRA at -O2/-Os (#668489, PR debug/47858)
-- temporarily disable cloog-ppl Requires, so that ppl and cloog-ppl can
-  be bumped
-
-* Wed Feb 22 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.10
-- update from trunk
-  - PRs c++/46868, tree-optimization/47838, tree-optimization/47849
-- don't ship aotcompile.py* and classfile.py* in libstdc++ (#678982)
-
-* Wed Feb 22 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.9
-- update from trunk
-  - PRs bootstrap/47827, c++/44118, c++/46394, c++/46472, c++/46831,
-	c++/47199, c++/47207, c++/47242, c++/47666, c++/47703, c++/47833,
-	doc/47848, fortran/41359, fortran/44945, fortran/45077,
-	fortran/45743, fortran/46818, fortran/47797, libfortran/47694,
-	libfortran/47830, libgomp/47854, lto/47820, lto/47822,
-	objc++/47711, objc/47784, rtl-optimization/46002,
-	rtl-optimization/47763, target/47822, target/47840,
-	tree-optimization/47835
-  - fix handling of ObjC pointer to struct with flexible array member
-    in interfaces (#678928, PR objc/47832)
-- temporarily BuildRequire urw-fonts until graphviz is fixed (#677114)
-
-* Sun Feb 20 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.8
-- update from trunk
-  - PRs ada/41929, bootstrap/47736, bootstrap/47807, c++/46807,
-	c++/47172, c++/47208, c++/47326, c++/47482, c++/47503,
-	c++/47704, c++/47783, c++/47795, c/47809, debug/47630,
-	debug/47780, driver/45731, driver/47390, driver/47787,
-	fortran/47348, fortran/47349, fortran/47569, fortran/47633,
-	fortran/47642, fortran/47648, fortran/47716, fortran/47728,
-	fortran/47730, fortran/47745, fortran/47750, fortran/47767,
-	fortran/47768, fortran/47775, fortran/47789, libfortran/47757,
-	libgfortran/47667, libgomp/47731, libgomp/47758, libgomp/47804,
-	libjava/47484, libstdc++/47709, libstdc++/47724, libstdc++/47773,
-	libstdc++/47776, lto/47647, lto/47798, middle-end/47581,
-	middle-end/47725, middle-end/47788, pch/14940,
-	rtl-optimization/46178, target/43653, target/45808, target/47696,
-	target/47755, target/47792, tree-optimization/46494,
-	tree-optimization/46620, tree-optimization/47737,
-	tree-optimization/47738, tree-optimization/47743
-  - fix i?86 shift + plus peephole2 (#678530, PR target/47800)
-
-* Sat Feb 12 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.7
-- update from trunk
-  - PRs binutils/12283, c++/47511, debug/42631, debug/47684, driver/47678,
-	fortran/42434, fortran/45290, fortran/45586, fortran/47352,
-	fortran/47463, fortran/47550, fortran/47574, fortran/47583,
-	fortran/47592, fortran/47637, libffi/46661, libfortran/47571,
-	libgfortran/47567, libstdc++/43863, libstdc++/47433,
-	libstdc++/47628, libstdc++/47668, lto/47225, lto/47241,
-	middle-end/45505, middle-end/47610, middle-end/47639,
-	middle-end/47646, target/42333, target/44606, target/45701,
-	target/46481, target/46610, target/46997, target/47032,
-	target/47324, target/47534, target/47548, target/47558,
-	target/47629, target/47636, target/47665, target/47683,
-	testsuite/47400, testsuite/47622, tree-optimization/42893,
-	tree-optimization/46834, tree-optimization/46994,
-	tree-optimization/46995, tree-optimization/47420,
-	tree-optimization/47615, tree-optimization/47621,
-	tree-optimization/47632, tree-optimization/47641,
-	tree-optimization/47664, tree-optimization/47707
-  - fix postreload on auto inc/decrement instructions (#675787,
-    PR rtl-optimization/47614)
-  - fix a hang in VRP (#676473, PR tree-optimization/47677)
-  - fix STL headers with -fno-operator-names (#676910, PR libstdc++/47662)
-- fix scheduling of debug insns (#675711, PR debug/47620)
-
-* Sat Feb  5 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.6
-- update from trunk
-  - PRs bootstrap/47044, bootstrap/47147, c++/29571, c++/46890, c++/47311,
-	c++/47398, c++/47416, c++/47589, debug/43092, debug/47498,
-	debug/47501, driver/47547, fortran/35810, fortran/45170,
-	fortran/47042, fortran/47082, fortran/47350, fortran/47455,
-	fortran/47463, fortran/47507, fortran/47519, fortran/47523,
-	fortran/47531, fortran/47565, fortran/47572, gcc/46692,
-	inline-asm/23200, java/21206, libfortran/47571, libgcj/44341,
-	libgfortran/47434, libquadmath/47293, libstdc++/46914,
-	libstdc++/47560, lto/47274, middle-end/47543,
-	rtl-optimization/43494, rtl-optimization/44031,
-	rtl-optimization/47525, target/42894, target/45325,
-	target/47272, target/47312, target/47564, target/47580,
-	tree-optimization/40979, tree-optimization/43695,
-	tree-optimization/45122, tree-optimization/46194,
-	tree-optimization/47538, tree-optimization/47541,
-	tree-optimization/47555, tree-optimization/47559,
-	tree-optimization/47561, tree-optimization/47566,
-	tree-optimization/47576
-- suppress -Woverlength-string warnings inside of __asm__
-- fix section flags conflict handling for relro sections (#674890,
-  PR middle-end/47610)
-
-* Fri Jan 28 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.5
+* Tue Jan  3 2012 Jakub Jelinek <jakub at redhat.com> 4.7.0-0.2
 - update from trunk
-  - PRs bootstrap/47467, c++/43601, c++/47476, c/21659, c/43082, c/47473,
-	debug/45130, debug/45136, debug/45454, fortran/38536, fortran/47399,
-	fortran/47421, fortran/47448, fortran/47472, fortran/47474,
-	libfortran/47375, libfortran/47431, libfortran/47432,
-	libfortran/47491, libgfortran/47285, libstdc++/47387,
-	libstdc++/47433, libstdc++/47437, lto/44334, lto/47333,
-	lto/47423, middle-end/46949, middle-end/47401, middle-end/47411,
-	middle-end/47414, rtl-optimization/37273, rtl-optimization/44174,
-	rtl-optimization/44469, rtl-optimization/46856,
-	rtl-optimization/46878, rtl-optimization/47166,
-	rtl-optimization/47464, target/40125, target/45701,
-	target/46519, target/46997, target/47237, target/47246,
-	target/47385, target/47408, testsuite/45988,
-	tree-optimization/26854, tree-optimization/29832,
-	tree-optimization/43567, tree-optimization/43657,
-	tree-optimization/43884, tree-optimization/46168,
-	tree-optimization/46215, tree-optimization/46970,
-	tree-optimization/47190, tree-optimization/47228,
-	tree-optimization/47234, tree-optimization/47265,
-	tree-optimization/47271, tree-optimization/47382,
-	tree-optimization/47427, tree-optimization/47428,
-	tree-optimization/47443
-  - really fix the PCH issue on powerpc64 (PR pch/47430)
-  - handle truth_xor_expr in potential_constant_expression_1
-    (#672156, PR tree-optimization/47426)
-- fix named section conflict handling (PR middle-end/31490)
-- suppress -Woverlength-string warnings in __extension__ guarded
-  code
-
-* Mon Jan 24 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.4
-- build gcc-go and libgo* only on architectures that support it
-- workaround PCH issue on powerpc64
-
-* Sat Jan 22 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.3
-- add gcc-go, libgo{,-devel,-static}, libquadmath{,-devel,-static},
-  libgfortran-static and gcc-plugin-devel subpackages
-- fix up libstdc++-doc man page location (#664475)
-
-* Sat Jan 22 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.2
-- update from the trunk
-  - PRs bootstrap/47055, bootstrap/47187, bootstrap/47215, c++/33558,
-	c++/45520, c++/46552, c++/46658, c++/46688, c++/46903, c++/46977,
-	c++/47022, c++/47041, c++/47067, c++/47213, c++/47218, c++/47289,
-	c++/47291, c++/47303, c++/47388, c/47150, debug/46240, debug/46583,
-	debug/46704, debug/46724, debug/46955, debug/47079, debug/47106,
-	debug/47209, debug/47283, debug/47402, debug/PR46973, driver/42445,
-	driver/47244, fortran/33117, fortran/38536, fortran/41580,
-	fortran/45777, fortran/45848, fortran/46017, fortran/46313,
-	fortran/46402, fortran/46405, fortran/46416, fortran/46478,
-	fortran/46625, fortran/46817, fortran/46896, fortran/47024,
-	fortran/47051, fortran/47174, fortran/47177, fortran/47180,
-	fortran/47182, fortran/47189, fortran/47194, fortran/47195,
-	fortran/47204, fortran/47224, fortran/47240, fortran/47260,
-	fortran/47268, fortran/47295, fortran/47327, fortran/47331,
-	fortran/47377, fortran/47394, gcc/46902, libfortran/46267,
-	libfortran/47296, libfortran/47322, libgfortran/47154,
-	libgfortran/47296, libstdc++/36104, libstdc++/47045, libstdc++/47145,
-	libstdc++/47185, libstdc++/47320, libstdc++/47321, libstdc++/47323,
-	libstdc++/47354, lto/45375, lto/45721, lto/46083, lto/46760,
-	lto/47162, lto/47188, lto/47222, lto/47225, lto/47259, lto/47264,
-	middle-end/32511, middle-end/45235, middle-end/45566,
-	middle-end/46823, middle-end/46894, middle-end/47281,
-	middle-end/47370, middle-end/47395, objc/45989, objc/47078,
-	objc/47232, objc/47314, other/45915, other/46946, preprocessor/39213,
-	rtl-optimization/39077, rtl-optimization/41619,
-	rtl-optimization/45352, rtl-optimization/47216,
-	rtl-optimization/47299, rtl-optimization/47337,
-	rtl-optimization/47366, target/19162, target/38118, target/43309,
-	target/45258, target/46037, target/46655, target/46997, target/47201,
-	target/47219, target/47251, target/47318, testsuite/33033,
-	testsuite/41146, testsuite/45342, testsuite/46230, testsuite/46912,
-	testsuite/47325, testsuite/47371, tree-optimization/45934,
-	tree-optimization/45967, tree-optimization/46021,
-	tree-optimization/46076, tree-optimization/46130,
-	tree-optimization/46302, tree-optimization/46367,
-	tree-optimization/47005, tree-optimization/47053,
-	tree-optimization/47056, tree-optimization/47086,
-	tree-optimization/47139, tree-optimization/47141,
-	tree-optimization/47167, tree-optimization/47179,
-	tree-optimization/47233, tree-optimization/47234,
-	tree-optimization/47239, tree-optimization/47276,
-	tree-optimization/47280, tree-optimization/47286,
-	tree-optimization/47290, tree-optimization/47313,
-	tree-optimization/47355, tree-optimization/47365,
-	tree-optimization/47391, tree-optmization/46469
-- add systemtap probe to _Unwind_DebugHook
-
-* Wed Jan  5 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.1
+  - PRs bootstrap/51686, bootstrap/51725, c++/15867, c++/16603, c++/20140,
+	c++/23211, c++/51316, c++/51379, c++/51397, c++/51462, c++/51507,
+	c++/51547, c++/51666, c++/51669, c++/51675, c++/51723, debug/51650,
+	driver/48306, fortran/46262, fortran/46328, fortran/51052,
+	fortran/51502, fortran/51529, fortran/51682, libfortran/51646,
+	libgcj/49193, libstdc++/48362, libstdc++/49204, libstdc++/51608,
+	libstdc++/51701, libstdc++/51711, lto/51650, middle-end/48641,
+	middle-end/51200, middle-end/51212, middle-end/51252,
+	middle-end/51730, other/51679, pch/51722, rtl-optimization/50396,
+	rtl-optimization/51069, rtl-optimization/51667, target/27468,
+	target/47643, target/51345, target/51552, target/51623, target/51643,
+	target/51729, testsuite/50722, testsuite/51645, testsuite/51702,
+	tree-optimization/43491, tree-optimization/51070,
+	tree-optimization/51269, tree-optimization/51683,
+	tree-optimization/51684, tree-optimization/51692,
+	tree-optimization/51704, tree-optimization/51719
+
+* Wed Dec 21 2011 Jakub Jelinek <jakub at redhat.com> 4.7.0-0.1
 - new package
diff --git a/gcc46-c++-builtin-redecl.patch b/gcc47-c++-builtin-redecl.patch
similarity index 77%
rename from gcc46-c++-builtin-redecl.patch
rename to gcc47-c++-builtin-redecl.patch
index 9463428..fa30745 100644
--- a/gcc46-c++-builtin-redecl.patch
+++ b/gcc47-c++-builtin-redecl.patch
@@ -9,7 +9,7 @@
 
 --- gcc/cp/decl.c.jj	2007-10-01 22:11:09.000000000 +0200
 +++ gcc/cp/decl.c	2007-10-02 11:39:46.000000000 +0200
-@@ -2001,23 +2001,21 @@ duplicate_decls (tree newdecl, tree oldd
+@@ -2137,39 +2137,37 @@ duplicate_decls (tree newdecl, tree oldd
  	  DECL_ARGUMENTS (olddecl) = DECL_ARGUMENTS (newdecl);
  	  DECL_RESULT (olddecl) = DECL_RESULT (newdecl);
  	}
@@ -21,6 +21,22 @@
 +	  /* If we're keeping the built-in definition, keep the rtl,
 +	     regardless of declaration matches.  */
 +	  COPY_DECL_RTL (olddecl, newdecl);
++	  if (DECL_BUILT_IN_CLASS (newdecl) == BUILT_IN_NORMAL)
++	    {
++	      enum built_in_function fncode = DECL_FUNCTION_CODE (newdecl);
++	      switch (fncode)
++		{
++		  /* If a compatible prototype of these builtin functions
++		     is seen, assume the runtime implements it with the
++		     expected semantics.  */
++		case BUILT_IN_STPCPY:
++		  if (builtin_decl_explicit_p (fncode))
++		    set_builtin_decl_implicit_p (fncode, true);
++		  break;
++		default:
++		  break;
++		}
++	    }
 +	}
        if (new_defines_function)
  	/* If defining a function declared with other language
@@ -37,6 +53,22 @@
 -	      /* If we're keeping the built-in definition, keep the rtl,
 -		 regardless of declaration matches.  */
 -	      COPY_DECL_RTL (olddecl, newdecl);
+-	      if (DECL_BUILT_IN_CLASS (newdecl) == BUILT_IN_NORMAL)
+-		{
+-		  enum built_in_function fncode = DECL_FUNCTION_CODE (newdecl);
+-		  switch (fncode)
+-		    {
+-		      /* If a compatible prototype of these builtin functions
+-			 is seen, assume the runtime implements it with the
+-			 expected semantics.  */
+-		    case BUILT_IN_STPCPY:
+-		      if (builtin_decl_explicit_p (fncode))
+-			set_builtin_decl_implicit_p (fncode, true);
+-		      break;
+-		    default:
+-		      break;
+-		    }
+-		}
 -	    }
 -
  	  DECL_RESULT (newdecl) = DECL_RESULT (olddecl);
diff --git a/gcc46-cloog-dl.patch b/gcc47-cloog-dl.patch
similarity index 94%
rename from gcc46-cloog-dl.patch
rename to gcc47-cloog-dl.patch
index 11ce82b..1ed7165 100644
--- a/gcc46-cloog-dl.patch
+++ b/gcc47-cloog-dl.patch
@@ -15,7 +15,7 @@
 
 --- gcc/Makefile.in.jj	2011-01-03 13:44:14.163900902 +0100
 +++ gcc/Makefile.in	2011-01-04 17:48:53.588775911 +0100
-@@ -984,6 +984,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plug
+@@ -962,6 +962,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plug
  PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
  PLUGIN_VERSION_H = plugin-version.h configargs.h
  LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
@@ -24,16 +24,16 @@
  
  #
  # Now figure out from those variables how to compile and link.
-@@ -1037,7 +1039,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
+@@ -1016,7 +1018,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
  # and the system's installed libraries.
- LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
- 	$(HOST_LIBS)
+ LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) \
+ 	$(LIBDECNUMBER) $(HOST_LIBS)
 -BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
 +BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),-ldl) $(PLUGINLIBS) $(HOST_LIBS) \
  	$(ZLIB)
  # Any system libraries needed just for GNAT.
  SYSLIBS = @GNAT_LIBEXC@
-@@ -2668,40 +2670,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYS
+@@ -2602,40 +2604,40 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYS
     $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
  graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
     $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
@@ -88,21 +88,25 @@
     graphite-sese-to-poly.h
  tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
     $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
-@@ -3482,6 +3484,11 @@ $(out_object_file): $(out_file) $(CONFIG
+@@ -3454,6 +3456,15 @@ $(common_out_object_file): $(common_out_
  	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- 		$(out_file) $(OUTPUT_OPTION)
+ 	  $< $(OUTPUT_OPTION)
  
 +graphite%.o : \
 +  ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
 +graphite.o : \
 +  ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
++graphite%.o : \
++  ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
++graphite.o : \
++  ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
 +
  # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o version.o $(LIBDEPS)
+ mips-tfile: mips-tfile.o $(LIBDEPS)
  	$(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
 --- gcc/graphite-cloog-compat.h.jj	2011-01-03 12:53:05.000000000 +0100
 +++ gcc/graphite-cloog-compat.h	2011-01-04 17:34:09.857757544 +0100
-@@ -272,4 +272,277 @@ static inline int cloog_matrix_nrows (Cl
+@@ -272,4 +272,279 @@ static inline int cloog_matrix_nrows (Cl
     return m->NbRows;
  }
  #endif /* CLOOG_ORG  */
@@ -220,6 +224,7 @@
 +  DYNSYM (stmt_guard); \
 +  DYNSYM (stmt_root); \
 +  DYNSYM (stmt_user); \
++  DYNSYM (stmt_ass); \
 +  DYNSYM (ppl_delete_Constraint_System); \
 +  DYNSYM (ppl_initialize); \
 +  DYNSYM (ppl_new_Constraint_System_from_Constraint); \
@@ -227,7 +232,7 @@
 +  DYNSYM (ppl_Polyhedron_affine_image); \
 +  DYNSYM (ppl_io_fprint_Pointset_Powerset_C_Polyhedron); \
 +  DYNSYMS_PPL11
-+extern struct
++extern struct cloog_pointers_s__
 +{
 +  bool inited;
 +  void *h;
@@ -364,6 +369,7 @@
 +#define stmt_guard (*cloog_pointers__.p_stmt_guard)
 +#define stmt_root (*cloog_pointers__.p_stmt_root)
 +#define stmt_user (*cloog_pointers__.p_stmt_user)
++#define stmt_ass (*cloog_pointers__.p_stmt_ass)
 +#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
 +#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
 +#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
@@ -433,19 +439,26 @@
    initialize_original_copy_tables ();
 --- gcc/graphite-clast-to-gimple.c.jj	2011-01-03 12:53:05.000000000 +0100
 +++ gcc/graphite-clast-to-gimple.c	2011-01-04 16:29:55.738007463 +0100
-@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stm
+@@ -836,7 +836,7 @@ clast_get_body_of_loop (struct clast_stm
     from STMT_FOR.  */
  
  static tree
--gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level,
-+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level,
- 			       tree lb_type, tree ub_type)
+-type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
++type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip)
  {
--  struct clast_stmt *stmt = (struct clast_stmt *) stmt_for;
-+  struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora;
-   struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
-   CloogStatement *cs = body->statement;
-   poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
+   mpz_t bound_one, bound_two;
+   tree lb_type, ub_type;
+@@ -844,8 +844,8 @@ type_for_clast_for (struct clast_for *st
+   mpz_init (bound_one);
+   mpz_init (bound_two);
+ 
+-  lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two);
+-  ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two);
++  lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two);
++  ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two);
+ 
+   mpz_clear (bound_one);
+   mpz_clear (bound_two);
 --- gcc/graphite-poly.h.jj	2011-01-03 12:53:05.000000000 +0100
 +++ gcc/graphite-poly.h	2011-01-04 17:35:53.308788629 +0100
 @@ -22,6 +22,8 @@ along with GCC; see the file COPYING3.  
diff --git a/gcc46-hack.patch b/gcc47-hack.patch
similarity index 79%
rename from gcc46-hack.patch
rename to gcc47-hack.patch
index 4689ce8..1903e95 100644
--- a/gcc46-hack.patch
+++ b/gcc47-hack.patch
@@ -1,8 +1,8 @@
 --- libada/Makefile.in.jj	2009-01-14 12:07:35.000000000 +0100
 +++ libada/Makefile.in	2009-01-15 14:25:33.000000000 +0100
-@@ -69,18 +69,40 @@ version := $(shell cat $(srcdir)/../gcc/
- libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
+@@ -66,18 +66,40 @@ libsubdir := $(libdir)/gcc/$(target_nonc
  ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
+ ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTISUBDIR))
  
 +DEFAULTMULTIFLAGS :=
 +ifeq ($(MULTISUBDIR),)
@@ -33,42 +33,30 @@
  LIBADA_FLAGS_TO_PASS = \
          "MAKEOVERRIDES=" \
 -        "LDFLAGS=$(LDFLAGS)" \
-+        "LDFLAGS=$(strip $(LDFLAGS) $(DEFAULTMULTIFLAGS))" \
++        "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \
          "LN_S=$(LN_S)" \
          "SHELL=$(SHELL)" \
 -        "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
 -        "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
 -        "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
-+        "GNATLIBFLAGS=$(strip $(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
-+        "GNATLIBCFLAGS=$(strip $(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
-+        "GNATLIBCFLAGS_FOR_C=$(strip $(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
-         "TARGET_LIBGCC2_CFLAGS=$(TARGET_LIBGCC2_CFLAGS)" \
++        "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
++        "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
++        "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \
+         "PICFLAG_FOR_TARGET=$(PICFLAG)" \
          "THREAD_KIND=$(THREAD_KIND)" \
          "TRACE=$(TRACE)" \
-@@ -91,7 +113,7 @@ LIBADA_FLAGS_TO_PASS = \
+@@ -88,7 +110,7 @@ LIBADA_FLAGS_TO_PASS = \
          "exeext=.exeext.should.not.be.used " \
  	'CC=the.host.compiler.should.not.be.needed' \
  	"GCC_FOR_TARGET=$(CC)" \
--        "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)"
-+        "CFLAGS=$(strip $(CFLAGS) $(DEFAULTMULTIFLAGS) $(WARN_CFLAGS))"
+-        "CFLAGS=$(CFLAGS)"
++        "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)"
  
  # Rules to build gnatlib.
- .PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared oscons
+ .PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared osconstool
 --- gcc/ada/sem_util.adb	(revision 161677)
 +++ gcc/ada/sem_util.adb	(working copy)
-@@ -2246,7 +2246,11 @@
-          end if;
- 
-       elsif Is_Entity_Name (A2) then
-+
-+         --  Triggered by -Wall
-+         pragma Warnings (Off);
-          return Denotes_Same_Prefix (A2, A1);
-+         pragma Warnings (On);
- 
-       elsif Nkind_In (A1, N_Selected_Component, N_Indexed_Component, N_Slice)
-               and then
-@@ -4694,7 +4698,7 @@
+@@ -5487,7 +5487,7 @@ package body Sem_Util is
              Exp           : Node_Id;
              Assn          : Node_Id;
              Choice        : Node_Id;
diff --git a/gcc47-i386-libgomp.patch b/gcc47-i386-libgomp.patch
new file mode 100644
index 0000000..f6a6b91
--- /dev/null
+++ b/gcc47-i386-libgomp.patch
@@ -0,0 +1,28 @@
+--- libgomp/configure.tgt.jj	2008-01-10 20:53:48.000000000 +0100
++++ libgomp/configure.tgt	2008-03-27 12:44:51.000000000 +0100
+@@ -44,14 +44,14 @@ if test $enable_linux_futex = yes; then
+ 	;;
+ 
+     # Note that bare i386 is not included here.  We need cmpxchg.
+-    i[456]86-*-linux*)
++    i[456]86-*-linux*)
+ 	config_path="linux/x86 linux posix"
+ 	case " ${CC} ${CFLAGS} " in
+ 	  *" -m64 "*)
+ 	    ;;
+ 	  *)
+ 	    if test -z "$with_arch"; then
+-	      XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
++	      XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
+ 	    fi
+ 	esac
+ 	;;
+@@ -63,7 +63,7 @@ if test $enable_linux_futex = yes; then
+ 	config_path="linux/x86 linux posix"
+ 	case " ${CC} ${CFLAGS} " in
+ 	  *" -m32 "*)
+-	    XCFLAGS="${XCFLAGS} -march=i486 -mtune=i686"
++	    XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
+ 	    ;;
+ 	esac
+ 	;;
diff --git a/gcc46-java-nomulti.patch b/gcc47-java-nomulti.patch
similarity index 100%
rename from gcc46-java-nomulti.patch
rename to gcc47-java-nomulti.patch
diff --git a/gcc46-libgomp-omp_h-multilib.patch b/gcc47-libgomp-omp_h-multilib.patch
similarity index 100%
rename from gcc46-libgomp-omp_h-multilib.patch
rename to gcc47-libgomp-omp_h-multilib.patch
diff --git a/gcc47-libitm-fno-exceptions.patch b/gcc47-libitm-fno-exceptions.patch
new file mode 100644
index 0000000..ed752da
--- /dev/null
+++ b/gcc47-libitm-fno-exceptions.patch
@@ -0,0 +1,26 @@
+2011-12-22  Jakub Jelinek  <jakub at redhat.com>
+
+	* Makefile.am (beginend.lo): Append -fno-exceptions to
+	CXXFLAGS.
+	* Makefile.in: Regenerated.
+
+--- libitm/Makefile.am.jj	2011-12-20 13:47:57.000000000 +0100
++++ libitm/Makefile.am	2011-12-22 09:14:06.663469165 +0100
+@@ -72,6 +72,7 @@ endif
+ if ARCH_X86_AVX
+ x86_avx.lo : XCFLAGS += -mavx
+ endif
++beginend.lo : CXXFLAGS += -fno-exceptions
+ 
+ if ARCH_FUTEX
+ libitm_la_SOURCES += futex.cc
+--- libitm/Makefile.in.jj	2011-12-20 13:47:57.000000000 +0100
++++ libitm/Makefile.in	2011-12-22 09:14:29.466329944 +0100
+@@ -1278,6 +1278,7 @@ vpath % $(strip $(search_path))
+ @LIBITM_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBITM_BUILD_VERSIONED_SHLIB_TRUE@	 > $@ || (rm -f $@ ; exit 1)
+ @ARCH_X86_TRUE at x86_sse.lo : XCFLAGS += -msse
+ @ARCH_X86_AVX_TRUE at x86_avx.lo : XCFLAGS += -mavx
++beginend.lo : CXXFLAGS += -fno-exceptions
+ 
+ all-local: $(STAMP_GENINSRC)
+ 
diff --git a/gcc46-libjava-prims-ctype.patch b/gcc47-libjava-prims-ctype.patch
similarity index 100%
rename from gcc46-libjava-prims-ctype.patch
rename to gcc47-libjava-prims-ctype.patch
diff --git a/gcc47-libstdc++-docs.patch b/gcc47-libstdc++-docs.patch
new file mode 100644
index 0000000..577dd49
--- /dev/null
+++ b/gcc47-libstdc++-docs.patch
@@ -0,0 +1,26 @@
+--- libstdc++-v3/doc/html/index.html.jj	2011-01-03 12:53:21.282829010 +0100
++++ libstdc++-v3/doc/html/index.html	2011-01-04 18:06:28.999851145 +0100
+@@ -5,6 +5,8 @@
+       <a class="link" href="http://www.fsf.org/">FSF
+       </a>
+     </p><p>
++      Release 4.7.0
++    </p><p>
+       Permission is granted to copy, distribute and/or modify this
+       document under the terms of the GNU Free Documentation
+       License, Version 1.2 or any later version published by the
+--- libstdc++-v3/doc/html/api.html.jj	2011-01-03 12:53:21.000000000 +0100
++++ libstdc++-v3/doc/html/api.html	2011-01-04 18:12:01.672757784 +0100
+@@ -19,8 +19,11 @@
+   member functions for the library classes, finding out what is in a
+   particular include file, looking at inheritance diagrams, etc.
+ </p><p>
+-  The API documentation, rendered into HTML, can be viewed online:
++  The API documentation, rendered into HTML, can be viewed here:
+ </p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem"><p>
++      <a class="ulink" href="api/index.html">for the 4.7 release, local
++      </a>
++    </p></li><li class="listitem"><p>
+       <a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html">for the 3.4 release
+       </a>
+     </p></li><li class="listitem"><p>
diff --git a/gcc46-libtool-no-rpath.patch b/gcc47-libtool-no-rpath.patch
similarity index 100%
rename from gcc46-libtool-no-rpath.patch
rename to gcc47-libtool-no-rpath.patch
diff --git a/gcc46-no-add-needed.patch b/gcc47-no-add-needed.patch
similarity index 91%
rename from gcc46-no-add-needed.patch
rename to gcc47-no-add-needed.patch
index 8aac209..7e38b0b 100644
--- a/gcc46-no-add-needed.patch
+++ b/gcc47-no-add-needed.patch
@@ -19,15 +19,15 @@
  /* A C statement (sans semicolon) to output to the stdio stream STREAM
 --- gcc/config/ia64/linux.h.jj	2011-01-03 13:02:11.462994522 +0100
 +++ gcc/config/ia64/linux.h	2011-01-04 18:14:10.931874160 +0100
-@@ -82,7 +82,7 @@ do {						\
+@@ -77,7 +77,7 @@ do {						\
     Signalize that because we have fde-glibc, we don't need all C shared libs
     linked against -lgcc_s.  */
  #undef LINK_EH_SPEC
 -#define LINK_EH_SPEC ""
 +#define LINK_EH_SPEC "--no-add-needed "
  
- #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
- 
+ /* Put all *tf routines in libgcc.  */
+ #undef LIBGCC2_HAS_TF_MODE
 --- gcc/config/gnu-user.h.jj	2011-01-03 12:53:03.739057299 +0100
 +++ gcc/config/gnu-user.h	2011-01-04 18:14:10.932814884 +0100
 @@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI
@@ -41,8 +41,8 @@
  #undef LINK_GCC_C_SEQUENCE_SPEC
 --- gcc/config/rs6000/sysv4.h.jj	2011-01-03 13:02:18.255994215 +0100
 +++ gcc/config/rs6000/sysv4.h	2011-01-04 18:14:10.933888871 +0100
-@@ -869,7 +869,7 @@ extern int fixuplabelno;
-   -dynamic-linker " LINUX_DYNAMIC_LINKER "}}"
+@@ -820,7 +820,7 @@ extern int fixuplabelno;
+   -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
  
  #if defined(HAVE_LD_EH_FRAME_HDR)
 -# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
diff --git a/gcc46-ppc32-retaddr.patch b/gcc47-ppc32-retaddr.patch
similarity index 100%
rename from gcc46-ppc32-retaddr.patch
rename to gcc47-ppc32-retaddr.patch
diff --git a/gcc46-ppl-0.10.patch b/gcc47-ppl-0.10.patch
similarity index 100%
rename from gcc46-ppl-0.10.patch
rename to gcc47-ppl-0.10.patch
diff --git a/gcc46-pr33763.patch b/gcc47-pr33763.patch
similarity index 86%
rename from gcc46-pr33763.patch
rename to gcc47-pr33763.patch
index 86c8ac7..0cf0723 100644
--- a/gcc46-pr33763.patch
+++ b/gcc47-pr33763.patch
@@ -12,19 +12,19 @@
 
 --- gcc/tree-inline.c.jj	2007-11-06 09:29:04.000000000 +0100
 +++ gcc/tree-inline.c	2007-11-06 16:19:12.000000000 +0100
-@@ -3157,6 +3157,12 @@ expand_call_inline (basic_block bb, gimp
+@@ -3817,6 +3817,12 @@ expand_call_inline (basic_block bb, gimp
  	goto egress;
  
        if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn))
-+	/* For extern inline functions that get redefined we always
-+	   silently ignored alway_inline flag. Better behaviour would
-+	   be to be able to keep both bodies and use extern inline body
-+	   for inlining, but we can't do that because frontends overwrite
-+	   the body.  */
++          /* For extern inline functions that get redefined we always
++	     silently ignored always_inline flag. Better behaviour would
++	     be to be able to keep both bodies and use extern inline body
++	     for inlining, but we can't do that because frontends overwrite
++	     the body.  */
 +	  && !cg_edge->callee->local.redefined_extern_inline
  	  /* Avoid warnings during early inline pass. */
- 	  && cgraph_global_info_ready)
- 	{
+ 	  && cgraph_global_info_ready
+ 	  /* PR 20090218-1_0.c. Body can be provided by another module. */
 --- gcc/testsuite/gcc.dg/pr33763.c.jj	2007-11-06 16:19:12.000000000 +0100
 +++ gcc/testsuite/gcc.dg/pr33763.c	2007-11-06 16:19:12.000000000 +0100
 @@ -0,0 +1,60 @@
diff --git a/gcc46-pr38757.patch b/gcc47-pr38757.patch
similarity index 94%
rename from gcc46-pr38757.patch
rename to gcc47-pr38757.patch
index 5e6bf57..b6b3233 100644
--- a/gcc46-pr38757.patch
+++ b/gcc47-pr38757.patch
@@ -46,7 +46,7 @@
  #endif /* GCC_LANG_HOOKS_DEF_H */
 --- gcc/c-lang.c.jj	2011-01-03 12:53:05.376056936 +0100
 +++ gcc/c-lang.c	2011-01-04 17:59:43.167743798 +0100
-@@ -36,6 +36,12 @@ along with GCC; see the file COPYING3.  
+@@ -36,6 +36,12 @@ along with GCC; see the file COPYING3.
  
  enum c_language_kind c_language = clk_c;
  
@@ -59,10 +59,10 @@
  /* Lang hooks common to C and ObjC are declared in c-objc-common.h;
     consequently, there should be very few hooks below.  */
  
-@@ -43,6 +49,8 @@ enum c_language_kind c_language = clk_c;
- #define LANG_HOOKS_NAME "GNU C"
- #undef LANG_HOOKS_INIT
+@@ -45,6 +51,8 @@ enum c_language_kind c_language = clk_c;
  #define LANG_HOOKS_INIT c_objc_common_init
+ #undef LANG_HOOKS_INIT_TS
+ #define LANG_HOOKS_INIT_TS c_common_init_ts
 +#undef LANG_HOOKS_SOURCE_LANGUAGE
 +#define LANG_HOOKS_SOURCE_LANGUAGE c_source_language
  
@@ -83,7 +83,7 @@
 +    case DW_LANG_C89:
 +    case DW_LANG_C99:
 +    case DW_LANG_ObjC:
-+      if (prototype_p (func_type) != NULL)
++      if (prototype_p (func_type))
 +	add_AT_flag (die, DW_AT_prototyped, 1);
 +      break;
 +    default:
diff --git a/gcc46-pr47858.patch b/gcc47-pr47858.patch
similarity index 100%
rename from gcc46-pr47858.patch
rename to gcc47-pr47858.patch
diff --git a/gcc46-rh330771.patch b/gcc47-rh330771.patch
similarity index 100%
rename from gcc46-rh330771.patch
rename to gcc47-rh330771.patch
diff --git a/gcc47-sparc-config-detection.patch b/gcc47-sparc-config-detection.patch
new file mode 100644
index 0000000..ce2acc7
--- /dev/null
+++ b/gcc47-sparc-config-detection.patch
@@ -0,0 +1,40 @@
+--- gcc/config.gcc.jj	2008-04-24 15:42:46.000000000 -0500
++++ gcc/config.gcc	2008-04-24 15:44:51.000000000 -0500
+@@ -2356,7 +2356,7 @@ sparc-*-rtems*)
+ 	tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
+ 	tmake_file="sparc/t-sparc sparc/t-elf t-rtems"
+ 	;;
+-sparc-*-linux*)
++sparc-*-linux* | sparcv9-*-linux*)
+ 	tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
+ 	extra_options="${extra_options} sparc/long-double-switch.opt"
+ 	case ${target} in
+@@ -2409,7 +2409,7 @@ sparc64-*-rtems*)
+ 	extra_options="${extra_options}"
+ 	tmake_file="${tmake_file} sparc/t-sparc t-rtems"
+ 	;;
+-sparc64-*-linux*)
++sparc64*-*-linux*)
+ 	tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
+ 	extra_options="${extra_options} sparc/long-double-switch.opt"
+ 	tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
+--- libgcc/config.host.jj	2008-04-24 15:46:19.000000000 -0500
++++ libgcc/config.host	2008-04-24 15:46:49.000000000 -0500
+@@ -1002,7 +1002,7 @@ sparc-*-elf*)
+ 	tmake_file="${tmake_file} t-fdpbit t-crtfm"
+ 	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
+ 	;;
+-sparc-*-linux*)		# SPARC's running GNU/Linux, libc6
++sparc-*-linux* | sparcv9-*-linux*)		# SPARC's running GNU/Linux, libc6
+ 	tmake_file="${tmake_file} t-crtfm"
+ 	if test "${host_address}" = 64; then
+ 		tmake_file="$tmake_file sparc/t-linux64"
+@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
+ 	tmake_file="$tmake_file t-crtfm"
+ 	extra_parts="$extra_parts crtfastmath.o"
+ 	;;
+-sparc64-*-linux*)		# 64-bit SPARC's running GNU/Linux
++sparc64*-*-linux*)		# 64-bit SPARC's running GNU/Linux
+ 	extra_parts="$extra_parts crtfastmath.o"
+ 	tmake_file="${tmake_file} t-crtfm sparc/t-linux"
+ 	if test "${host_address}" = 64; then
diff --git a/sources b/sources
index cd22db4..7275915 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
-cd8f143e98921c6dd7551937185e7fa1  gcc-4.6.2-20111027.tar.bz2
+31f7127d4679f41e263d4009900439b2  gcc-4.7.0-20120103.tar.bz2


More information about the scm-commits mailing list