public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gcc] rhel-f41-base: 4.5.0-1
@ 2026-06-29 12:24 Jakub Jelinek
0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2026-06-29 12:24 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/gcc
Branch : rhel-f41-base
Commit : 8717b1d4117bc11adfa0119d8a26792e6aa2d908
Author : Jakub Jelinek <jakub@fedoraproject.org>
Date : 2010-07-07T17:35:21+00:00
Stats : +1390/-3182 in 41 file(s)
URL : https://src.fedoraproject.org/rpms/gcc/c/8717b1d4117bc11adfa0119d8a26792e6aa2d908?branch=rhel-f41-base
Log:
4.5.0-1
---
diff --git a/.cvsignore b/.cvsignore
index 8751100..e01410a 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
fastjar-0.97.tar.gz
-gcc-4.4.4-20100630.tar.bz2
+gcc-4.5.0-20100707.tar.bz2
diff --git a/README.libgcjwebplugin.so b/README.libgcjwebplugin.so
deleted file mode 100644
index d0c9090..0000000
--- a/README.libgcjwebplugin.so
+++ /dev/null
@@ -1,56 +0,0 @@
-gcjwebplugin is a Firefox plugin for running Java applets. It is now
-included in the libgcj sub-package, though it is not enabled by
-default.
-
-GNU Classpath and libgcj's security implementation is under active
-development, but it is not ready to be declared secure. Specifically,
-it cannot run untrusted applets safely.
-
-When gcjwebplugin is enabled, it prompts you with a dialog before
-loading an applet. The dialog tells you that a certain URL would like
-to load an applet, and asks if you trust the applet. Be aware though
-that this dialog is mostly informative and doesn't provide much
-protection:
-
-- http and DNS can be spoofed meaning that the URL named in the
- warning dialog cannot be trusted
-
-- someone could create a browser denial-of-service attack by creating a
- page with hundreds of applet tags, causing gcjwebplugin to create
- warning dialog after warning dialog. The browser would have to be
- closed to eliminate the latest dialog
-
-- the whitelist is provided as a convenience, but it is unsafe because a
- domain may change hands from a trusted owner to an untrusted owner.
- If that domain is in the whitelist then the warning dialog will not
- appear when loading the new malicious applet.
-
-CURRENTLY GCJWEBPLUGIN RUNS WITH NO SECURITY MANAGER. THIS MEANS THAT
-APPLETS CAN DO ANYTHING A JAVA APPLICATION THAT YOU DOWNLOAD AND RUN
-COULD DO. BE *VERY* CAREFUL WHICH APPLETS YOU RUN. DO NOT USE
-GCJWEBPLUGIN ON YOUR SYSTEM IF YOUR SYSTEM STORES IMPORTANT DATA.
-THIS DATA CAN BE DESTROYED OR STOLEN.
-
-The same warning applies to gappletviewer, which also runs with no
-security manager (in fact, gcjwebplugin spawns gappletviewer to do the
-applet loading). When run on the command line, gappletviewer issues a
-warning on startup and asks you if you want to continue.
-
-Even considering the risks involved, you may still want to try
-gcjwebplugin. GNU Classpath's AWT and Swing implementations are now
-sufficiently mature that they're able to run many applets deployed on
-the web. If you're interested in trying gcjwebplugin, you can do so
-by creating a symbolic link in ~/.mozilla/plugins like so:
-
-ln -s /usr/lib/gcj-@VERSION@/libgcjwebplugin.so ~/.mozilla/plugins/
-
-Type about:plugins in Firefox's URL bar to confirm that the plugin has
-been loaded. To see gcjwebplugin debugging output, run:
-
-firefox -g
-
-then at the GDB prompt, type
-
-run
-
-Please report bugs in Red Hat Bugzilla: http://bugzilla.redhat.com
diff --git a/gcc.spec b/gcc.spec
index f3613f9..74f3d1d 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,16 +1,11 @@
-%global DATE 20100630
-%global SVNREV 161589
-%global gcc_version 4.4.4
+%global DATE 20100707
+%global SVNREV 161912
+%global gcc_version 4.5.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 10
+%global gcc_release 1
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
-%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
-%global include_gappletviewer 0
-%else
-%global include_gappletviewer 1
-%endif
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
%global build_ada 1
%else
@@ -55,8 +50,6 @@ Group: Development/Languages
# tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2
Source0: gcc-%{version}-%{DATE}.tar.bz2
Source1: libgcc_post_upgrade.c
-Source2: README.libgcjwebplugin.so
-Source3: protoize.1
%global fastjar_ver 0.97
Source4: http://download.savannah.nongnu.org/releases/fastjar/fastjar-%{fastjar_ver}.tar.gz
URL: http://gcc.gnu.org
@@ -70,12 +63,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Need binutils which support --build-id >= 2.17.50.0.17-3
# Need binutils which support %gnu_unique_object >= 2.19.51.0.14
# Need binutils which support .cfi_sections >= 2.19.51.0.14-33
-%if 0%{?fedora} >= 13
# Need binutils which support --no-add-needed >= 2.20.51.0.2-12
BuildRequires: binutils >= 2.20.51.0.2-12
-%else
-BuildRequires: binutils >= 2.19.51.0.14-33
-%endif
# While gcc doesn't include statically linked binaries, during testing
# -static is used several times.
BuildRequires: glibc-static
@@ -94,7 +83,8 @@ BuildRequires: gcc-java, libgcj
# Make sure glibc supports stack protector
# Make sure glibc supports DT_GNU_HASH
BuildRequires: glibc-devel >= 2.4.90-13
-BuildRequires: elfutils-devel >= 0.72
+BuildRequires: elfutils-devel >= 0.147
+BuildRequires: elfutils-libelf-devel >= 0.147
%ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha
# Make sure glibc supports TFmode long double
BuildRequires: glibc >= 2.3.90-35
@@ -130,12 +120,8 @@ Requires: cpp = %{version}-%{release}
# Need binutils that support --build-id
# Need binutils that support %gnu_unique_object
# Need binutils that support .cfi_sections
-%if 0%{?fedora} >= 13
# Need binutils that support --no-add-needed
Requires: binutils >= 2.20.51.0.2-12
-%else
-Requires: binutils >= 2.19.51.0.14-33
-%endif
# Make sure gdb will understand DW_FORM_strp
Conflicts: gdb < 5.1-2
Requires: glibc-devel >= 2.2.90-12
@@ -156,25 +142,22 @@ Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
AutoReq: true
-Patch0: gcc44-hack.patch
-Patch1: gcc44-build-id.patch
-Patch2: gcc44-c++-builtin-redecl.patch
-Patch3: gcc44-ia64-libunwind.patch
-Patch4: gcc44-java-nomulti.patch
-Patch5: gcc44-ppc32-retaddr.patch
-Patch6: gcc44-pr33763.patch
-Patch7: gcc44-rh330771.patch
-Patch8: gcc44-i386-libgomp.patch
-Patch9: gcc44-sparc-config-detection.patch
-Patch10: gcc44-libgomp-omp_h-multilib.patch
-Patch11: gcc44-libtool-no-rpath.patch
-Patch12: gcc44-cloog-dl.patch
-Patch13: gcc44-unwind-debug-hook.patch
-Patch14: gcc44-pr38757.patch
-Patch15: gcc44-libstdc++-docs.patch
-Patch16: gcc44-ppc64-aixdesc.patch
-Patch17: gcc44-no-add-needed.patch
-Patch18: gcc44-pr44542.patch
+Patch0: gcc45-hack.patch
+Patch1: gcc45-build-id.patch
+Patch2: gcc45-c++-builtin-redecl.patch
+Patch4: gcc45-java-nomulti.patch
+Patch5: gcc45-ppc32-retaddr.patch
+Patch6: gcc45-pr33763.patch
+Patch7: gcc45-rh330771.patch
+Patch8: gcc45-i386-libgomp.patch
+Patch9: gcc45-sparc-config-detection.patch
+Patch10: gcc45-libgomp-omp_h-multilib.patch
+Patch11: gcc45-libtool-no-rpath.patch
+Patch12: gcc45-cloog-dl.patch
+Patch14: gcc45-pr38757.patch
+Patch15: gcc45-libstdc++-docs.patch
+Patch17: gcc45-no-add-needed.patch
+Patch18: gcc45-pr44542.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@@ -198,11 +181,11 @@ Patch1004: fastjar-man.patch
%endif
%description
-The gcc package contains the GNU Compiler Collection version 4.4.
+The gcc package contains the GNU Compiler Collection version 4.5.
You'll need this package in order to compile C code.
%package -n libgcc
-Summary: GCC version 4.4 shared support library
+Summary: GCC version 4.5 shared support library
Group: System Environment/Libraries
Autoreq: false
@@ -297,7 +280,7 @@ Summary: Fortran support
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libgfortran = %{version}-%{release}
-BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1
+BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Autoreq: true
@@ -382,9 +365,6 @@ Requires: libart_lgpl >= 2.1.0
%if %{build_java}
BuildRequires: gtk2-devel >= 2.4.0
BuildRequires: glib2-devel >= 2.4.0
-%if %{include_gappletviewer}
-BuildRequires: xulrunner-devel
-%endif
BuildRequires: libart_lgpl-devel >= 2.1.0
BuildRequires: alsa-lib-devel
BuildRequires: libXtst-devel
@@ -492,7 +472,6 @@ GNAT is a GNU Ada 95 front-end to GCC. This package includes static libraries.
%patch0 -p0 -b .hack~
%patch1 -p0 -b .build-id~
%patch2 -p0 -b .c++-builtin-redecl~
-%patch3 -p0 -b .ia64-libunwind~
%patch4 -p0 -b .java-nomulti~
%patch5 -p0 -b .ppc32-retaddr~
%patch6 -p0 -b .pr33763~
@@ -504,15 +483,11 @@ GNAT is a GNU Ada 95 front-end to GCC. This package includes static libraries.
%if %{build_cloog}
%patch12 -p0 -b .cloog-dl~
%endif
-%patch13 -p0 -b .unwind-debug-hook~
%patch14 -p0 -b .pr38757~
%if %{build_libstdcxx_docs}
%patch15 -p0 -b .libstdc++-docs~
%endif
-%patch16 -p0 -b .ppc64-aixdesc~
-%if 0%{?fedora} >= 13
%patch17 -p0 -b .no-add-needed~
-%endif
%patch18 -p0 -b .pr44542~
# This testcase doesn't compile.
@@ -530,7 +505,7 @@ tar xzf %{SOURCE4}
tar xjf %{SOURCE10}
%endif
-sed -i -e 's/4\.4\.5/4.4.4/' gcc/BASE-VER
+sed -i -e 's/4\.5\.1/4.5.0/' gcc/BASE-VER
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
# Default to -gdwarf-3 rather than -gdwarf-2
@@ -649,25 +624,23 @@ case "$OPT_FLAGS" in
../gcc/Makefile.in
;;
esac
-CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
- GCJFLAGS="$OPT_FLAGS" \
+CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`" \
+ XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" GCJFLAGS="$OPT_FLAGS" \
../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap \
--enable-shared --enable-threads=posix --enable-checking=release \
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
--enable-gnu-unique-object \
%if !%{build_ada}
- --enable-languages=c,c++,objc,obj-c++,java,fortran \
+ --enable-languages=c,c++,objc,obj-c++,java,fortran,lto \
%else
- --enable-languages=c,c++,objc,obj-c++,java,fortran,ada \
+ --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,lto \
%endif
+ --enable-plugin \
%if !%{build_java}
--disable-libgcj \
%else
--enable-java-awt=gtk --disable-dssi \
-%if %{include_gappletviewer}
- --enable-plugin \
-%endif
--with-java-home=%{_prefix}/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre \
--enable-libgcj-multifile \
%if !%{bootstrap_java}
@@ -724,9 +697,6 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`"
#GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
-# Make protoize
-make -C gcc CC="./xgcc -B ./ -O2" proto
-
# Make generated man pages even if Pod::Man is not new enough
perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
for i in ../gcc/doc/*.texi; do
@@ -748,7 +718,6 @@ 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/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}
-sed -e 's,@VERSION@,%{gcc_version},' %{SOURCE2} > rpm.doc/README.libgcjwebplugin.so
for i in {gcc,gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}/ChangeLog*; do
cp -p $i rpm.doc/changelogs/$i
@@ -878,9 +847,9 @@ rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/
libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
mkdir -p ../rpm.doc/libstdc++-v3
cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
-mv $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
+cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
mkdir -p %{buildroot}%{_mandir}
-mv $libstdcxx_doc_builddir/man/man3 %{buildroot}%{_mandir}/man3/
+cp -r -p $libstdcxx_doc_builddir/man/man3 %{buildroot}%{_mandir}/man3/
find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
%endif
@@ -974,10 +943,14 @@ if [ "%{_lib}" != "lib" ]; then
fi
%endif
+mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}
+mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++*gdb.py* \
+ %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
+
pushd $FULLPATH
if [ "%{_lib}" = "lib" ]; then
ln -sf ../../../libobjc.so.2 libobjc.so
-ln -sf ../../../libstdc++.so.6.* libstdc++.so
+ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
ln -sf ../../../libgfortran.so.3.* libgfortran.so
ln -sf ../../../libgomp.so.1.* libgomp.so
ln -sf ../../../libmudflap.so.0.* libmudflap.so
@@ -989,7 +962,7 @@ ln -sf ../../../libgij.so.10.* libgij.so
%endif
else
ln -sf ../../../../%{_lib}/libobjc.so.2 libobjc.so
-ln -sf ../../../../%{_lib}/libstdc++.so.6.* libstdc++.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
ln -sf ../../../../%{_lib}/libmudflap.so.0.* libmudflap.so
@@ -1022,28 +995,28 @@ 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.4.so
+ln -sf ../../../../../libgnarl-*.so libgnarl-4.5.so
ln -sf ../../../../../libgnat-*.so libgnat.so
-ln -sf ../../../../../libgnat-*.so libgnat-4.4.so
+ln -sf ../../../../../libgnat-*.so libgnat-4.5.so
else
ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so
-ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.4.so
+ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.5.so
ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so
-ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.4.so
+ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.5.so
fi
popd
else
pushd $FULLPATH/adalib
if [ "%{_lib}" = "lib" ]; then
ln -sf ../../../../libgnarl-*.so libgnarl.so
-ln -sf ../../../../libgnarl-*.so libgnarl-4.4.so
+ln -sf ../../../../libgnarl-*.so libgnarl-4.5.so
ln -sf ../../../../libgnat-*.so libgnat.so
-ln -sf ../../../../libgnat-*.so libgnat-4.4.so
+ln -sf ../../../../libgnat-*.so libgnat-4.5.so
else
ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so
-ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.4.so
+ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.5.so
ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so
-ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.4.so
+ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.5.so
fi
popd
fi
@@ -1051,7 +1024,7 @@ fi
%ifarch sparcv9 ppc
ln -sf ../../../../../lib64/libobjc.so.2 64/libobjc.so
-ln -sf ../`echo ../../../../lib/libstdc++.so.6.* | sed s~/lib/~/lib64/~` 64/libstdc++.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
rm -f libmudflap.so libmudflapth.so
@@ -1087,7 +1060,7 @@ ln -sf ../lib64/adalib 64/adalib
%ifarch %{multilib_64_archs}
mkdir -p 32
ln -sf ../../../../libobjc.so.2 32/libobjc.so
-ln -sf ../`echo ../../../../lib64/libstdc++.so.6.* | sed s~/../lib64/~/~` 32/libstdc++.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
rm -f libmudflap.so libmudflapth.so
@@ -1226,10 +1199,6 @@ chmod 755 %{buildroot}%{_prefix}/share/java/gcj-endorsed \
touch %{buildroot}%{_prefix}/%{_lib}/gcj-%{version}/classmap.db
%endif
-install -m644 %{SOURCE3} %{buildroot}%{_mandir}/man1/protoize.1
-echo '.so man1/protoize.1' > %{buildroot}%{_mandir}/man1/unprotoize.1
-chmod 644 %{buildroot}%{_mandir}/man1/unprotoize.1
-
%check
cd obj-%{gcc_target_platform}
@@ -1390,8 +1359,6 @@ fi
%{_prefix}/bin/c99
%{_prefix}/bin/gcc
%{_prefix}/bin/gcov
-%{_prefix}/bin/protoize
-%{_prefix}/bin/unprotoize
%ifarch ppc
%{_prefix}/bin/%{_target_platform}-gcc
%endif
@@ -1404,8 +1371,6 @@ fi
%{_prefix}/bin/%{gcc_target_platform}-gcc
%{_mandir}/man1/gcc.1*
%{_mandir}/man1/gcov.1*
-%{_mandir}/man1/protoize.1*
-%{_mandir}/man1/unprotoize.1*
%{_infodir}/gcc*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
@@ -1414,7 +1379,8 @@ fi
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
-%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/SYSCALLS.c.X
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/lto1
+%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/lto-wrapper
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stddef.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdarg.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdfix.h
@@ -1426,6 +1392,8 @@ fi
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/syslimits.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/unwind.h
%{_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
%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
@@ -1445,6 +1413,7 @@ fi
%{_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/ia32intrin.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
@@ -1565,6 +1534,13 @@ fi
%files -n libstdc++
%defattr(-,root,root,-)
%{_prefix}/%{_lib}/libstdc++.so.6*
+%dir %{_datadir}/gdb
+%dir %{_datadir}/gdb/auto-load
+%dir %{_datadir}/gdb/auto-load/%{_prefix}
+%dir %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
+%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc*gdb.py*
+%dir %{_prefix}/share/gcc-%{gcc_version}
+%{_prefix}/share/gcc-%{gcc_version}/python
%files -n libstdc++-devel
%defattr(-,root,root,-)
@@ -1597,7 +1573,6 @@ fi
%endif
%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
-%if 0%{?fedora} >= 14
%files -n libstdc++-static
%defattr(-,root,root,-)
%dir %{_prefix}/lib/gcc
@@ -1617,7 +1592,6 @@ fi
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
%endif
-%endif
%if %{build_libstdcxx_docs}
%files -n libstdc++-docs
@@ -1760,10 +1734,6 @@ fi
%{_prefix}/bin/gorbd
%{_prefix}/bin/gserialver
%{_prefix}/bin/gcj-dbtool
-%if %{include_gappletviewer}
-%{_prefix}/bin/gappletviewer
-%{_mandir}/man1/gappletviewer.1*
-%endif
%{_prefix}/bin/gjarsigner
%{_mandir}/man1/fastjar.1*
%{_mandir}/man1/grepjar.1*
@@ -1789,9 +1759,6 @@ fi
%{_prefix}/%{_lib}/gcj-%{version}/libgtkpeer.so
%{_prefix}/%{_lib}/gcj-%{version}/libgjsmalsa.so
%{_prefix}/%{_lib}/gcj-%{version}/libjawt.so
-%if %{include_gappletviewer}
-%{_prefix}/%{_lib}/gcj-%{version}/libgcjwebplugin.so
-%endif
%{_prefix}/%{_lib}/gcj-%{version}/libjvm.so
%{_prefix}/%{_lib}/gcj-%{version}/libjavamath.so
%dir %{_prefix}/share/java
@@ -1802,9 +1769,6 @@ fi
%{_prefix}/%{_lib}/logging.properties
%dir %{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_prefix}/%{_lib}/gcj-%{version}/classmap.db
-%if %{include_gappletviewer}
-%doc rpm.doc/README.libgcjwebplugin.so
-%endif
%files -n libgcj-devel
%defattr(-,root,root,-)
@@ -1888,30 +1852,23 @@ fi
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib
-%if 0%{?fedora} >= 14
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib/libgnat.a
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib/libgnarl.a
%endif
-%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib
-%if 0%{?fedora} >= 14
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib/libgnat.a
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib/libgnarl.a
%endif
-%endif
%ifnarch sparcv9 sparc64 ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib
-%if 0%{?fedora} >= 14
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib/libgnat.a
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib/libgnarl.a
%endif
-%endif
-%if 0%{?fedora} >= 14
%files -n libgnat-static
%defattr(-,root,root,-)
%dir %{_prefix}/lib/gcc
@@ -1935,7 +1892,6 @@ fi
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib/libgnarl.a
%endif
%endif
-%endif
%files -n libgomp
%defattr(-,root,root,-)
@@ -1977,7 +1933,6 @@ fi
%endif
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
-%if 0%{?fedora} >= 14
%files -n libmudflap-static
%defattr(-,root,root,-)
%dir %{_prefix}/lib/gcc
@@ -1997,993 +1952,7 @@ fi
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a
%endif
-%endif
%changelog
-* Wed Jun 30 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-10
-- update from gcc-4_4-branch
- - PRs fortran/43841, fortran/43843, tree-optimization/44683
- - fix qualified-id as template argument handling (#605761, PR c++/44587)
-- -Wunused-but-set-* static_cast fix (PR c++/44682)
-- VTA backports
- - PRs debug/44610, debug/44668, debug/44694
-- unswitching fixes (PR middle-end/43866)
-
-* Thu Jun 24 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-9
-- update from gcc-4_4-branch
- - PRs bootstrap/44426, bootstrap/44544, c++/44627, fortran/44536,
- libgcj/44216, target/39690, target/43740, target/44261, target/44481,
- target/44534, target/44615, testsuite/32843, testsuite/43739,
- tree-optimization/44508
-- VTA backports
- - PRs debug/43650, debug/44181, debug/44247
-- -Wunused-but-set-* ->*/.* fix (PR c++/44619)
-- undeprecate #ident and #sccs (#606069)
-%if 0%{?fedora} >= 14
-- fix up libgnat-static
-%endif
-- fixup dates in generated man pages even for fastjar and gcc/ man pages
-- don't realign stack on x86/x86-64 just because a DECL_ALIGN was set
- too high by expansion code (#603924, PR target/44542)
-- don't allow side-effects in inline-asm memory operands unless
- < or > is present in operand's constraint (#602359, PR middle-end/44492)
-
-* Fri Jun 11 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-8
-- update from gcc-4_4-branch
- - fix demangler (PR other/43838)
-- VTA backports
- - further var-tracking speedup (#598310, PR debug/41371)
-- for typedefs in non-template classes adjust underlying type to
- emit proper debug info (#601893)
-- fix up fastjar directory traversal bugs (CVE-2010-0831)
-
-* Tue Jun 8 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-7
-- update from gcc-4_4-branch
- - PRs c++/43555, fortran/42900, fortran/44360, libfortran/41169,
- libgcj/38251, libobjc/36610, libstdc++/32499, pch/14940,
- rtl-optimization/39580, target/44075, target/44169, target/44199
-- VTA backports
- - PRs debug/44367, debug/44375, rtl-optimization/44013,
- tree-optimization/44182
- - speed up var-tracking (#598310, PR debug/41371)
-- -Wunused-but-set-* bugfixes
- - PRs c++/44361, c++/44362, c++/44412, c++/44443, c++/44444
-- fix -mno-fused-madd -mfma4 on i?86/x86_64 (PR target/44338)
-- use GCJ_PROPERTIES=jdt.compiler.useSingleThread=true when
- building classes with ecj1 (#524155)
-%if 0%{?fedora} >= 14
-- add some static subpackages (#556049)
-%endif
-
-* Tue May 25 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-5
-- update from gcc-4_4-branch
- - PRs bootstrap/43870, debug/44205, target/43733, target/44074,
- target/44202, target/44245, tree-optimization/43845
- - fix cv-qual issue with function types (#593750, PR c++/44193)
-- VTA backports
- - PRs debug/41371, debug/42801, debug/43260, debug/43521
-
-* Tue May 18 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-4
-- update from gcc-4_4-branch
- - PR fortran/44135
-- C++ -Wunused-but-set-variable fix (PR c++/44108)
-- avoid C++ gimplification affecting mangling (#591635, PR c++/44148)
-- asm goto fixes (PRs middle-end/44102, bootstrap/42347)
-- VTA backports
- - PRs debug/41371, debug/44112
-
-* Fri May 14 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-3
-- update from gcc-4_4-branch
- - PRs debug/43370, documentation/44016, fortran/44036, middle-end/43671,
- middle-end/44085, target/43744
-- make comdat guards of STB_GNU_UNIQUE variables also STB_GNU_UNIQUE
- (PR c++/44059)
-- VTA backports
- - PRs debug/42278, debug/43950, debug/43983,debug/44104, debug/44136
- - fix up .debug_macinfo (#479914)
-- asm goto fixes (PRs middle-end/44071, middle-end/42739)
-- fix up -march=native (PR target/44046)
-- C++ -Wunused-but-set-{variable,parameter} support, fixes for C support
- (#538266, PRs c++/44062, c/43981)
-- -march=bdver1 and -mtune=bdver1 support
-
-* Mon May 3 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-2
-- fix VTA ICE on subregs of @GOTPCREL symbols (#588154, PR debug/43972)
-
-* Fri Apr 30 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-1
-- update from gcc-4_4-branch
- - GCC 4.4.4 release
-- VTA backports
- - PR target/43921
-
-* Tue Apr 27 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-19
-- Power7 backports (#584993, #585005)
- - PRs tree-optimization/43544, target/41787, target/43154, middle-end/42431,
- rtl-optimization/43413
-- add @GCC_4.5.0 symbols to libgcc_s
- - PRs target/43383, other/25232
-- force DW_CFA_def_cfa instead of DW_CFA_def_cfa_{register,offset{,_sf}}
- after DW_CFA_def_cfa_expression
-- make sure _Unwind_DebugHook uses standard calling convention
-- #pragma omp for fix (PR c/43893)
-
-* Thu Apr 22 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-18
-- update from gcc-4_4-branch
- - PRs fortran/43339, fortran/43836, libgcj/40860, libgomp/43569,
- libgomp/43706, libstdc++/40518, middle-end/43337, middle-end/43570,
- tree-optimization/43769, tree-optimization/43771
- - fix ICE when compiling 64-bit Wine (#583501, PR target/43662)
-- VTA backports
- - PRs debug/40040, debug/43762
-- add support for -Wunused-but-set-{parameter,variable} non-default
- warnings for C (#538266, PRs c/18624, bootstrap/43699)
-
-* Fri Apr 9 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-16
-- update from gcc-4_4-branch
- - PRs ada/41912, fortran/43539, middle-end/42956, middle-end/43614,
- target/38085, target/43458, target/43643, target/43668,
- tree-optimization/43186, tree-optimization/43560,
- tree-optimization/43607, tree-optimization/43629
-- VTA backports
- - PR debug/43670
-- fix xop-vpermil2p* tests (target/43103)
-
-* Wed Apr 7 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-15
-- update from gcc-4_4-branch
- - PRs libfortran/43605, target/43638
-- AMD XOP fixes (#579493, PRs target/42664, target/43667)
-- fix raw string support on big endian hosts (PR preprocessor/43642)
-- allow -gdwarf-4 option
-
-* Thu Apr 1 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-14
-- update from gcc-4_4-branch
- - PRs other/43562, c++/41185, c++/41786, fortran/43409, fortran/43551,
- libfortran/43409, middle-end/43600, target/39254, target/43524,
- tree-optimization/43528
-- update raw string support to match N3077
-- VTA backports
- - PRs bootstrap/43596, debug/42977, debug/43557, debug/43593,
- target/43580
-
-* Sat Mar 27 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-13
-- update from gcc-4_4-branch
- - PRs c/43381, libfortran/43517, target/42113
-- VTA backports
- - PRs debug/43516, debug/43540
-
-* Thu Mar 25 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-12
-- update from gcc-4_4-branch
- - PRs c/43385, target/43348, tree-optimization/43415
-- VTA backports
- - PRs bootstrap/43511, debug/19192, debug/43479, debug/43508
-- provide unwind info even for C++ thunks on x86, x86-64 and s390{,x}
- (PR target/43498)
-- provide unwind info for x86 PIC thunks even when not using CFI assembler
- directives (PR debug/43293)
-
-* Mon Mar 22 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-11
-- update from gcc-4_4-branch
- - PRs c++/43116, libfortran/43265, libgomp/42942, middle-end/42718,
- middle-end/43419, rtl-optimization/43360, rtl-optimization/43438,
- target/43305, target/43417
-- VTA backports
- - PRs bootstrap/43399, bootstrap/43403, debug/42873, debug/43058,
- debug/43443, target/43399
-
-* Tue Mar 16 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-10
-- update from gcc-4_4-branch
- - PRs fortran/43228, fortran/43303, libfortran/43265, libfortran/43320
-- VTA backports
- - PRs debug/36728, debug/43051, debug/43092, debug/43290,
- tree-optimization/42917, tree-optimization/43317
- - fix non-localized vars handling and forwarder block merging
- (#572260, PR debug/43329)
-%if 0%{?rhel} >= 6
-- remove gappletviewer, gcjwebplugin and related files even for
- RHEL, as xulrunner got updated to 1.9.2.1
-%endif
-
-* Tue Mar 9 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-9
-- update from gcc-4_4-branch
- - PRs ada/42253, bootstrap/43121, c/43248, tree-optimization/43220
-- VTA backports
- - PRs debug/42897, debug/43176, debug/43177, debug/43229, debug/43237,
- debug/43290, debug/43299, debug/43304
-- fix unwind info in i?86 PIC register setup sequences (PR debug/43293)
-
-* Fri Feb 26 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-8
-- update from gcc-4_4-branch
- - PR libstdc++/21769
-- VTA backports
- - PRs debug/42800, debug/43077, debug/43150, debug/43160, debug/43161,
- debug/43165, debug/43166, debug/43190, target/43139
-- fix alignment of some stack vars (PR middle-end/39315)
-
-* Sun Feb 21 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-7
-- update from gcc-4_4-branch
- - PRs c++/43024, c++/43033, fortran/41869, target/40887,
- tree-optimization/42871, tree-optimization/43074
-- VTA backports (PRs debug/42918, debug/43084)
-- --enable-decimal-float on s390{,x} (#565871)
-- improve __builtin_expect handling, propagate branch probabilities
- during expansion even for sequences with more than one jump
- (PR middle-end/42233)
-
-* Thu Feb 11 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-6
-- update from gcc-4_4-branch
- - PR tree-optimization/42705
- - fix up -femit-struct-debug-baseonly (#561320, PR debug/43010)
- - --enable-checking=valgrind bugfixes (PRs fortran/43029, fortran/43030)
-- VTA backports (#562312)
-- some further --enable-checking=valgrind bugfixes (PR target/38781)
-
-* Mon Feb 8 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-5
-- update from gcc-4_4-branch
- - PRs fortran/38324, fortran/41044, fortran/41167, fortran/42309,
- fortran/42650, fortran/42736, libfortran/42901, middle-end/42898,
- middle-end/42995, rtl-optimization/42952, tree-optimization/42462,
- tree-optimization/42890, tree-optimization/42931
-- VTA backports
- - PRs target/42924, debug/42896, rtl-optimization/42889
-%if 0%{?fedora} >= 13
-- pass --no-add-needed to the linker
-%endif
-
-* Wed Jan 27 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-4
-- update from gcc-4_4-branch
- - PRs bootstrap/42786, fortran/42866, target/38697, target/42841
-- fix up handling of constant pool elements in dwarf2out
-- fix acats norun.lst handling
-- fix asm redirection of builtin ffs on 64-bit arches (#559186)
-
-* Mon Jan 25 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-3
-- VTA improvements (#556975, PR debug/42861)
-
-* Sat Jan 23 2010 Dennis Gilmore <dennis@ausil.us> 4.4.3-2
-- use gas .section syntax (#530847)
-
-* Thu Jan 21 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-1
-- update from gcc-4_4-branch
- - GCC 4.4.3 release
-- don't insert DEBUG_STMTs after stmts that can throw, instead insert them
- at the start of the next bb
-
-* Thu Jan 21 2010 Jakub Jelinek <jakub@redhat.com> 4.4.2-28
-- update from gcc-4_4-branch
- - PRs middle-end/42803, rtl-optimization/42691, target/42542, target/42774,
- tree-optimization/41826, tree-optimization/42773
- - fix DW_OP_mod handling in the unwinder
-- VTA backports
- - PRs debug/42782, debug/42767
- - avoid dead VALUES to magically reappear during var-tracking
- (#557068, PR debug/42715)
- - don't assume non-addressable automatic MEMs die at each call
- during var-tracking (#556975, PR debug/42728)
-
-* Fri Jan 15 2010 Jakub Jelinek <jakub@redhat.com> 4.4.2-27
-- fix ICE with std::complex<float> copy (#555705, PR middle-end/42760)
-- avoid exponential hangs in gen_lsm_tmp_name
-
-* Fri Jan 15 2010 Jakub Jelinek <jakub@redhat.com> 4.4.2-26
-- update from gcc-4_4-branch
- - PR c++/42655
-
-* Thu Jan 14 2010 Jakub Jelinek <jakub@redhat.com> 4.4.2-25
-- update from gcc-4_4-branch
- - PRs c/42721, middle-end/40281, middle-end/42667, rtl-optimization/42699
-- re-add --param max-vartrack-size patch, but this time with default 50mil
- instead of 5mil (#531218, #548826)
-- don't emit -Wreturn-type warnings in noreturn functions
- (PR middle-end/42674)
-- march=native fixes for ix86/x86_64
-
-* Tue Jan 12 2010 Jakub Jelinek <jakub@redhat.com> 4.4.2-24
-- update from gcc-4_4-branch
- - PRs debug/42662, libjava/40859
-- speed up var-tracking on various KDE sources (PR debug/41371)
-- revert --param max-vartrack-size=NNNN hack
-- fix up epilogue unwinding with -fsched2-use-superblocks (PR middle-end/41883)
-- fix a -fcompare-debug failure (PR tree-optimization/42645)
-- don't make undef symbols weak just because they are known to have C++ vague
- linkage (PR c++/42608)
-
-* Sat Jan 9 2010 Jakub Jelinek <jakub@redhat.com> 4.4.2-23
-- update from gcc-4_4-branch
- - PRs target/42511, target/42542, target/42564
-- VTA backports
- - PRs debug/42630, debug/42631
-- improve construction of ppc64 constants between 0x80000000 and 0xffffffff
-- fix inliner and var-tracking not to drop location info needlessly in certain
- cases (#552376, PR debug/42657)
-
-* Wed Jan 6 2010 Jakub Jelinek <jakub@redhat.com> 4.4.2-22
-- add --param max-vartrack-size=NNNN parameter, give up on
- -fvar-tracking-assignments if var-tracking hash tables are over that limit
-- fix VTA bugs in the vectorizer (PRs debug/42604, debug/42395)
-- fix VTA bug with noreturn calls (PR middle-end/42363)
-
-* Tue Jan 5 2010 Jakub Jelinek <jakub@redhat.com> 4.4.2-21
-- update from gcc-4_4-branch
- - PRs c++/42331, middle-end/41344, middle-end/42099, other/42611,
- rtl-optimization/42475, target/40134, target/42448, target/42503,
- target/42549, tree-optimization/41956, tree-optimization/42231,
- tree-optimization/42337, tree-optimization/42614
-- fix -m*=native with several sources on the command line (PR driver/42442)
-- avoid code size differences from traversing decl hash tables hashed by uid
- if uid gap sizes differ
-- fix .debug_ranges with -ffunction-sections (PR debug/42454)
-
-* Tue Dec 22 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-20
-- fix MEM_SIZE of reload created stack slots (#548825,
- PR rtl-optimization/42429)
-%if !%{include_gappletviewer}
-- remove gappletviewer, gcjwebplugin and related files for F13 (#548783)
-%endif
-- fix addition of one character long filenames in fastjar (#549493)
-
-* Thu Dec 17 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-18
-- update from gcc-4_4-branch
- - PRs c++/42387
-- another C++ virtual dtors fix (PR c++/42386)
-- VTA mode and COND_EXEC fixes (PR debug/41679)
-- fix ICE in chrec_convert_1 (#547775)
-- fix debuginfo for optimized out TLS vars
-- use DW_AT_location with DW_OP_addr + DW_OP_stack_value instead of
- DW_AT_const_value with address in it, use DW_OP_addr + DW_OP_stack_value
- instead of DW_OP_implicit_value with address (#546017)
-
-* Mon Dec 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-17
-- propagate TREE_NOTHROW/TREE_READONLY/DECL_PURE_P from ipa-pure-const and
- EH opt to all same body aliases (#547286)
-- don't emit DWARF location list entries with no location or DW_AT_location
- with empty blocks (PR debug/41473)
-- fix up AMD LWP support
-- don't crash when mangling C++ decls inside of middle-end generated functions
- (PR c++/41183)
-
-* Fri Dec 11 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-16
-- update from gcc-4_4-branch
- - PRs c++/27425, c++/34274, c++/42301, fortran/42268, java/41991,
- libstdc++/42273, rtl-optimization/41574, target/41196, target/41939
- target/42263
-
-* Wed Dec 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-15
-- VTA backports
- - PRs debug/42166, debug/42234, debug/42244, debug/42299
-- fix handling of C++ COMDAT virtual destructors
-- some x86/x86_64 FMA4, XOP, ABM and LWP fixes
-- fix a decltype handling bug in templates (PR c++/42277)
-
-* Fri Dec 4 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-14
-- update from gcc-4_4-branch
- - PRs libstdc++/42261, middle-end/42049
-- backport C++0x ICE fix from trunk (PR c++/42266)
-- fortran !$omp workshare improvements (PR fortran/35423)
-- FMA4 and XOP fixes
-
-* Wed Dec 2 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-13
-- fix security issues in libltdl bundled within libgcj (CVE-2009-3736)
-
-* Wed Dec 2 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-12
-- update from gcc-4_4-branch
- - PRs c++/42234, fortran/41278, fortran/41807, fortran/42162, target/42113,
- target/42165
- - don't ICE on -O256 (#539923)
-- fix -mregnames on ppc/ppc64
-- optimize even COMDAT constructors and destructors without virtual
- bases (PR c++/3187)
-
-* Mon Nov 23 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-11
-- update from gcc-4_4-branch
- - PRs c++/42059, c++/42061, libgfortran/42090
-- VTA backports
- - PRs debug/41886, debug/41888, debug/41926, tree-optimization/42078
-- optimize non-COMDAT constructors and destructors without virtual
- bases by making the base and complete ctor or dtor aliases of
- each other (PR c++/3187)
-
-* Sat Nov 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-10
-- update from gcc-4_4-branch
- - PRs c++/21008, c++/37037, c++/41972, c++/41994, middle-end/40946,
- middle-end/42029
-- VTA backports
- - PR middle-end/41930
-- optimize deleting destructors for size (PR c++/3187)
-- try to avoid file Requires by requiring package%%{?_isa} (#533947)
-
-* Mon Nov 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-9
-- update from gcc-4_4-branch
- - PRs c++/35067, c++/36912, c++/36959, c++/37093, c++/38699, c++/39786,
- c++/41856, c++/41876, c++/41967, c++/9381, fortran/41772,
- fortran/41909, middle-end/41963, rtl-optimization/41917,
- target/41900, tree-optimization/41643
-- selected backports from trunk
- - PRs debug/41801, middle-end/41837, target/41985, tree-optimization/41841
-- initial AMD Orochi -mxop and -mlwp support
-- try to avoid wrapping CONST_INTs/VOIDmode CONST_DOUBLEs into CONST
-
-* Mon Nov 2 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-8
-- update from gcc-4_4-branch
- - PRs c++/41754, fortran/41777, fortran/41850, libstdc++/40852
-- fix ICE with unmatched #pragma GCC visibility push/pop (PR c++/41774)
-- fix VTA ICE with -combine (#531385, PR debug/41893)
-- fix RTTI for anon namespace classes
-- fix incorrect uses of __restrict keyword in valarray (PR libstdc++/41763)
-
-* Tue Oct 27 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-7
-- update from gcc-4_4-branch
- - PRs c++/40808, c/41842, cp-tools/39177
-- VTA backports
- - PR bootstrap/41345
-- don't emit DW_AT_name: <anonymous struct> etc. into debug info
- (#530304, PR debug/41828)
-- power7 ABI fixes (PR target/41787)
-- fix ICE in ix86_pic_register_p (PR target/41762)
-
-* Thu Oct 22 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-6
-- update from gcc-4_4-branch
- - PR target/41702
- - fix a pod2man error in gcc.1 (#530102)
- - fix mangling of very large names
-- document -print-multi-os-directory in gcc.info and gcc.1
- (#529659, PR other/25507)
-
-* Mon Oct 19 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-5
-- update from gcc-4_4-branch
- - PR fortran/41755
- - s390 z10 tuning fixes
-- provide accurate attributes for powerpc builtins (PR target/23983)
-- fix -fcompare-debug differences caused by DCE removal of debug stmts
-- fix updating of speculation status with VTA (PR debug/41739)
-
-* Sun Oct 18 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-4
-- update from gcc-4_4-branch
- - PRs c++/37204, c++/37766, c++/37875, c++/38798, c++/40092,
- libstdc++/40654, libstdc++/40826
-- fix VTA ICE on invalid pointer arithmetics (#529512)
-
-* Sat Oct 17 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-3
-- fix VTA handling in the scheduler (PR debug/41535)
-- fix up %%check section to be able to find ecj1
-
-* Fri Oct 16 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-2
-- update from gcc-4_4-branch
- - PR target/40913
-- VTA backports
- - PR debug/41717
-- fix Ada .eh_frame generation (PR debug/40521)
-
-* Thu Oct 15 2009 Jakub Jelinek <jakub@redhat.com> 4.4.2-1
-- update from gcc-4_4-branch
- - GCC 4.4.2 release
- - PRs middle-end/22072, target/41665
-- don't emit -Wpadded warnings for builtin structures
-- don't generate .eh_frame, but generate .debug_frame when -g and none of
- -fasynchronous-unwind-tables/-fexceptions/-funwind-tables is used
- (PR debug/40521)
-
-* Wed Oct 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-22
-- update from gcc-4_4-branch
- - PRs target/26515, target/38948
- - fix s390{,x} BLKmode symbol handling
- - fix i?86 testqi splitter (#528206, PR target/41680)
-- VTA backports
- - introduce debug temps (PRs debug/41264, debug/41338, debug/41343,
- debug/41447, target/41693)
- - build debug stmts on updates (PR debug/41616)
- - fix another with/without -save-temps debug info difference
- (#526841, PR preprocessor/41543)
- - fix invalid ranges in .debug_loc section (PR debug/41695)
-%if 0%{?rhel} >= 6
-- if -mcpu= isn't specified, default to -mcpu=power4 (#463549)
-%endif
-
-* Sat Oct 10 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-21
-- update from gcc-4_4-branch
- - fix s390{,x} prefetch for pre-z10 CPUs (#524552)
-- VTA backports
- - fix debug info differences with/without -save-temps
- (PR preprocessor/41445)
-- fix ICE with small BLKmode returning call (#516028,
- PR rtl-optimization/41646)
-
-* Thu Oct 8 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-20
-- update from gcc-4_4-branch
- - PRs c++/39863, c++/41038
-- avoid redundant DW_AT_const_value when abstract origin already has one
- (#527430)
-- another VTA debug stmt renaming bugfix (#521991)
-
-* Mon Oct 5 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-19
-- update from gcc-4_4-branch
- - PRs fortran/41479, fortran/41515
-- VTA backports
- - PRs debug/41353, debug/41404, rtl-optimization/41511
- - another debug info fix for decls passed by reference (#527057,
- PR debug/41558)
- - don't emit DW_AT_name on DW_TAG_const_type (#526970)
-- avoid invalid folding of casts to addresses of first fields
- (#527121, PR middle-end/41317)
-
-* Thu Oct 1 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-18
-- update from gcc-4_4-branch
- - PRs ada/41100, target/22093
-- VTA backports
- - PRs debug/41438, debug/41474, target/41279, testsuite/41444
-- fix VTA ICE on Linux kernel (#521991)
-- AMD Orochi -mfma4 support
-- don't run install-info if info files are missing because of --excludedocs
- (#515921, #515960, #515962, #515965, #516000, #516008, #516014)
-
-* Fri Sep 25 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-17
-- update from gcc-4_4-branch
- - fix vectorizer for power7 (#463846)
-- VTA backports
- - fix debug info for parameters passed by reference (#525709)
- - PR bootstrap/41457
-- remove power7 VSX load/store with update insn support
-- remove SSE5 support
-
-* Wed Sep 23 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-16
-- update from gcc-4_4-branch
- - PRs c/39779, c/41049, debug/41065, libffi/40242, libffi/41443,
- libgfortran/41328, testsuite/41288
-- VTA backports
- - PRs bootstrap/41397, bootstrap/41404, bootstrap/41405, debug/41295,
- debug/41411, debug/41439
- - fix ICE caused by reload substitution of const_int into zero_extend
- in debug_insn (#524439)
-- fix altivec vec_cmp{lt,gt} (#524273)
-- fix -mno-sched-epilogue on ppc (#524216, PR target/40473)
-- don't look at MUDFLAP_OPTIONS env var in suid/sgid programs
- (PR libmudflap/41433)
-
-* Fri Sep 18 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-15
-- for now disable out of line gpr/fpr saving on ppc with -m64 -Os -mcall-aixdesc
-- fix DW_AT_decl_{file,location} for DW_TAG_structure_type for C structs
- with forward declarations (#523810)
-
-* Wed Sep 16 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-14
-- update from gcc-4_4-branch
- - PRs fortran/39876, tree-optimization/41101
-- asm goto support
-- VTA delayed branch scheduling fix (PR bootstrap/41349)
-- power7 VSX fix (PR target/41210)
-- ppc bswap fixes (PR target/41331)
-
-* Fri Sep 11 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-13
-- fix ICE in debuginfo output with BLOCK_NONLOCALIZED_VARS (#518303)
-- wrap_constant when propagating for subst in debug in the combiner (#522577)
-- further fix for ppc -m32 -Os out of line gpr/fpr restoring (PR target/41175)
-
-* Thu Sep 10 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-12
-- update from gcc-4_4-branch
- - PRs bootstrap/41180, target/41315
-- fix ICE in tree-ssa-phiprop.c (#522277, PR tree-optimization/39827)
-- ppc64 bswap fix
-- fix ppc/ppc64 -mmultiple and out of line gpr/fpr saving bugs
- (#519409, PR target/40677, PR target/41175)
-
-* Wed Sep 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-11
-- fix ICE in tls_mem_loc_descriptor (#521991)
-
-* Tue Sep 8 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-10
-- update from gcc-4_4-branch
- - PRs fortran/41258, rtl-optimization/40861
-- fix scheduler not to reorder potentially trapping insns across
- calls that might not always return (#520916, PR rtl-optimization/41239)
-- merge in VTA
-
-* Thu Sep 3 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-9
-- update from gcc-4_4-branch
- - fix wide char constant stringification
-- __builtin_unreachable fix
-
-* Wed Sep 2 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-8
-- fix up __builtin_object_size (#505862)
-- fix Fortran GOTO warning (PR fortran/38507)
-
-* Tue Sep 1 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-7
-- update from gcc-4_4-branch
- - PRs c++/41120, c++/41127, c++/41131, fortran/41062, fortran/41102,
- fortran/41121, fortran/41126, fortran/41139, fortran/41157,
- fortran/41162, libfortran/40962, libstdc++/41005, middle-end/41094,
- middle-end/41123, middle-end/41163, target/34412, target/40718
-- fix pr22033.C on ppc*/ia64/sparc*
-- emit namespace DIE even if it contains just some used type (PR debug/41170)
-- fix dynamic_cast (#519517)
-- backport power7 changes from the trunk, instead of using the old incomplete
- backport from ibm/power7-meissner
-
-* Tue Aug 18 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-6
-- update from gcc-4_4-branch
- - PRs bootstrap/41018, c/41046, debug/37801, debug/40990, fortran/40847,
- rtl-optimization/41033, target/41015, target/41019, target/8603,
- tree-optimization/41016
-
-* Fri Aug 7 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-5
-- update from gcc-4_4-branch
- - PRs c++/40948, target/40906
-- -fexceptions support for -freorder-blocks-and-partition
-
-* Wed Aug 5 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-4
-- update from gcc-4_4-branch
- - PRs build/40010, c++/39987, c++/40749, c++/40834, c++/40948, debug/39706,
- fortran/40822, fortran/40848, fortran/40851, fortran/40878,
- libfortran/40853, middle-end/40943, rtl-optimization/40924,
- target/40577, testsuite/40829, testsuite/40891,
- tree-optimization/40570
-- backport __builtin_unreachable () support
-- fix powerpc ICE in memory_address (#515672, PR target/40971)
-
-* Sat Jul 25 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-3
-- update from gcc-4_4-branch
- - PR fortran/40727
-- fix unwind info for -freorder-blocks-and-partitions
- (PR rtl-optimization/34999)
-- fix Fortran MINLOC/MAXLOC/MINVAL/MAXVAL handling of infinities and NaNs,
- speed them up (PRs fortran/40643, fortran/31067)
-- fix ICE with Fortran data xfer without io unit (PR fortran/40839)
-
-* Thu Jul 23 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-2
-- update from gcc-4_4-branch
- - PRs rtl-optimization/40710, target/40832, tree-optimization/40321
-- use STB_GNU_UNIQUE symbols for inline fn local statics and
- template static data members
-- use strcmp for C++ typeinfo comparisons instead of pointer comparison
-
-* Wed Jul 22 2009 Jakub Jelinek <jakub@redhat.com> 4.4.1-1
-- update from gcc-4_4-branch
- - GCC 4.4.1 release
-
-* Tue Jul 21 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-15
-- update from gcc-4_4-branch
- - PRs libfortran/40714, target/39943, target/40809, tree-optimization/40792
- - fix ICE in gsi_insert_seq_nodes_after (#505798,
- PR tree-optimization/40813)
-- slightly relax -D_FORTIFY_SOURCE=2 rules for flexible-array-member like
- constructs (#512689, #511573)
-- vectorize unsigned int -> {float,double} conversions on x86/x86_64
- (PR target/40811)
-- update for i586.rpm -> i686.rpm switch (default to -march=i686 -mtune=generic
- in i686.rpm gcc and also with -m32 in x86_64.rpm gcc)
-
-* Fri Jul 17 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-14
-- update from gcc-4_4-branch
- - PRs c++/40740, libstdc++/40691, middle-end/40747
- - fix ICE in gimplify_conversion (#511229, PR c++/40780)
-
-* Mon Jul 13 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-13
-- update from gcc-4_4-branch
- - PRs c++/36628, c++/37206, c++/40502, c++/40684, c++/40689, fortran/40440,
- rtl-optimization/40667, target/40668
-- avoid overlapping entries in .debug_ranges section (PR debug/40713)
-
-* Wed Jul 8 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-12
-- update from gcc-4_4-branch
- - PRs c++/35828, c++/37816, c++/37946, c++/40557, c++/40633, c++/40639,
- debug/40666, target/38900
-- use more compact DW_AT_member_location for constant offsets (PR debug/40659)
-
-* Tue Jul 7 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-11
-- update from gcc-4_4-branch
- - PRs c++/40274, c++/40342, c++/40566, c++/40595, c++/40619, c/39902,
- fortran/40443, fortran/40551, fortran/40576, fortran/40594,
- fortran/40638, libfortran/40576, libstdc++/40297, libstdc++/40600,
- middle-end/40585, middle-end/40669, other/40024, target/40587,
- tree-optimization/40493, tree-optimization/40542,
- tree-optimization/40550, tree-optimization/40579,
- tree-optimization/40582, tree-optimization/40640
-- backports from trunk
- - fix debuginfo in dynamically realigned functions (PR debug/40596)
- - speed up polyhedron NF (PR middle-end/34163)
- - epilogue unwinding fixes (PRs bootstrap/40347, debug/40462)
- - fix debug info for inlines (PR debug/40573)
- - optimize assuming allocatable arrays in the innermost
- dimension are always stride 1 (PR fortran/32131)
-
-* Tue Jun 23 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-10
-- update from gcc-4_4-branch
- - PRs fortran/39800, fortran/40402, libstdc++/40497, middle-end/40389,
- middle-end/40404, middle-end/40446, middle-end/40460, objc/28050,
- target/40470, tree-optimization/40492
-- decrease memory consumption and speed up var-tracking pass (#503816)
-- __builtin_object_size fix for C++ (#506952)
-
-* Mon Jun 15 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-9
-- update from gcc-4_4-branch
- - PR fortran/40168
-- fix up debug.exp testsuite (PR testsuite/40426)
-- fix up a pasto in recent -D_FORTIFY_SOURCE changes (#506099)
-
-* Fri Jun 12 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-8
-- update from gcc-4_4-branch
- - PRs c++/40381, libfortran/40330
-- add -mcrc32 support on ix86
-- support -gdwarf-3 and default to it, emit DW_OP_call_frame_cfa
-- fix up ix86 padding for branch mispredicts
-- improve .debug_loc generation
-
-* Tue Jun 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-7
-- update from gcc-4_4-branch
- - PRs ada/40166, bootstrap/40027, c++/38064, c++/39754, c++/40007,
- c++/40139, c/40172, c++/40306, c++/40307, c++/40308, c++/40311,
- c++/40370, c++/40372, c++/40373, debug/40109, fortran/22423,
- fortran/38654, fortran/39893, fortran/40019, fortran/40195,
- libfortran/25561, libfortran/37754, libfortran/38668,
- libfortran/39665, libfortran/39667, libfortran/39702,
- libfortran/39709, libfortran/39782, libfortran/40334,
- libgfortran/39664, libgomp/40174, libstdc++/36211, libstdc++/40192,
- libstdc++/40296, libstdc++/40299, middle-end/32950, middle-end/40147,
- middle-end/40204, middle-end/40233, middle-end/40252,
- middle-end/40291, middle-end/40328, middle-end/40340,
- rtl-optimization/40105, target/40017, target/40153, target/40266,
- testsuite/39907, tree-optimization/39999, tree-optimization/40087,
- tree-optimization/40238, tree-optimization/40254
-- support Atom for -march=native
-- add -mmovbe support for Atom
-- improve ix86 instruction length computation, remove some unneeded padding
-- -D_FORTIFY_SOURCE improvements
-- emit accurate epilogue unwinding information
-- add unwind debug hook for gdb
-
-* Thu May 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-5
-- update from gcc-4_4-branch
- - PRs c++/17395, c/39983, fortran/38863, fortran/38956, fortran/39879,
- fortran/40018, libstdc++/39546, libstdc++/40038, middle-end/39986,
- middle-end/40021, middle-end/40023, middle-end/40043,
- middle-end/40057, middle-end/40080, target/37179,
- tree-optimization/40062, tree-optimization/40074
-- fix Fortran FMT= character array arguments (#492209, PR fortran/39865)
-- allow putting breakpoints on Fortran END{SUBROUTINE,FUNCTION}
- (PR fortran/34153)
-- incorporate changes suggested in gcc44 package review (#498911)
-
-* Wed May 6 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-4
-- update from gcc-4_4-branch
- - PRs c++/40013, libgcj/39899, libstdc++/39868, libstdc++/39880,
- libstdc++/39881, libstdc++/39882, libstdc++/39909, middle-end/39937,
- rtl-optimization/39914, target/39565, testsuite/39769,
- testsuite/39776, testsuite/39790, testsuite/39807,
- tree-optimization/39941
- - fix phiprop tuplification (#496400, PR tree-optimization/40022)
-- don't add artificial default case label if switch labels already
- cover the whole range (PR middle-end/39666)
-- fix DSE with block reads (PR middle-end/40035)
-- fix debuginfo for C++ typedef struct {...} T (PR debug/35463)
-- remove some unnecessary padding on x86_64/i386 added for >= 4 control
- flow insns in a 16-byte block (PR target/39942)
-- don't create invalid DWARF location lists containing DW_OP_reg*
- followed by DW_OP_deref*, instead use DW_OP_breg* 0 (#481675)
-- add libstdc++-docs subpackage, move html manual to it, add doxygen
- generated html and man pages
-
-* Mon Apr 27 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-3
-- update from gcc-4_4-branch
- - PR bootstrap/39739
- - fix -Wunused-value (#497545, PR c/39889)
-- backport further power7-meissner branch changes (#497816)
-- fix reg-stack ICE on SPEC2k6 453.povray with -m32 -O3 -msse3
- (PR target/39856)
-- fix x86_64 ICE on passing structure with flexible array member
- (PR target/39903)
-
-* Fri Apr 24 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-2
-- update from gcc-4_4-branch
- - PR c++/38228
-- fix folding of cond expr with comparison to MAX/MIN (PR middle-end/39867)
-- fix up gcc-gnat install-info arguments (#452783)
-
-* Thu Apr 23 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-1
-- update from gcc-4_4-branch
- - GCC 4.4.0 release
- - PRs libstdc++/39802, c++/39639, c/39855, rtl-optimization/39762,
- testsuite/39781, tree-optimization/39824
-- fix up DSE (PR rtl-optimization/39794)
-- debuginfo fixes for VLA and nested/contained functions (#459374)
-- improve -ftree-switch-conversion optimization if the constant is the
- same in all cases
-
-* Mon Apr 20 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.35
-- update from gcc-4_4-branch
- - PRs middle-end/39804, target/39678, target/39767, tree-optimization/39675,
- tree-optimization/39764
-
-* Tue Apr 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.34
-- update from gcc-4_4-branch
- - GCC 4.4.0-rc1
- - license changes to GPLv3+ with GCC Runtime Exception for most of the
- lib* files
- - PRs c++/28301, c++/39480, c++/39742, c++/39750, c/39613, c/39614, c/39673,
- libobjc/36610, target/39740, testsuite/35621, tree-optimization/39713
-- fix another -Wshadow C++ issue (PR c++/39763)
-
-* Thu Apr 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.32
-- update from gcc-4_4-branch
- - PRs c++/34691, c++/35146, c++/35240, c++/37806, c++/38030, c++/38850,
- c++/39608, c++/39637, c++/4926, c/37772, fortran/38152,
- fortran/39519, fortran/39594, libmudflap/38462, libstdc++/39310,
- middle-end/39573, objc/18456, objc/27377, other/39591,
- rtl-optimization/39588, rtl-optimization/39607, target/39501,
- target/39592, target/39634, testsuite/39325, tree-optimization/35011,
- tree-optimization/39595, tree-optimization/39648
- - handle .cfi_undefined(%ip) in libgcc_s unwinder (#491542)
-- fix debug info for C++ static data members (#410691)
-- revert fwprop fix, it causes glibc.i586 miscompilation
-
-* Mon Mar 30 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.31
-- update from gcc-4_4-branch
- - PR target/39545
- - fix Fortran bind(c) function using RESULT() (#492657)
-- fix bogus warnings on strcmp/strncmp macros (#492846)
-
-* Sat Mar 28 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.30
-- update from gcc-4_4-branch
- - PRs c++/39380, c++/28274, c++/29727, c++/35652, c++/36799, c++/37647,
- c++/38638, c++/39554, libfortran/39528, middle-end/39497,
- rtl-optimization/39522, target/38034, target/39523,
- tree-optimization/39529, tree-optimization/39548,
- tree-optimization/39557
-- emit debuginfo for block local externs in C (PR debug/39563)
-- fix -maltivec conditional vector macro (PR target/39558)
-- teach fwprop to handle asm (PR inline-asm/39543)
-
-* Tue Mar 24 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.29
-- update from trunk
- - PRs c++/28879, c++/37729, c++/39526, debug/39524, tree-optimization/39516
-
-* Thu Mar 19 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.28
-- update from trunk
- - PRs c++/39425, c++/39475, c/39495, debug/39485, middle-end/37805,
- middle-end/38609, middle-end/39378, middle-end/39447,
- middle-end/39500, target/35180, target/39063, target/39496
- - fix RA bug with global reg variables (#490509)
-- use DW_LANG_C99 for -std=c99 or -std=gnu99 compiled C code (PR debug/38757)
-- emit DW_AT_explicit when needed (PR debug/37959)
-- optimize memmove into memcpy in more cases when we can prove src and dest
- don't overlap
-
-* Tue Mar 17 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.27
-- update from trunk
- - PRs debug/37890, debug/39471, debug/39474, libstdc++/39405, target/34299,
- target/39473, target/39476, target/39477, target/39482,
- testsuite/37628, testsuite/37630, testsuite/37960, testsuite/38526,
- tree-optimization/39455
-
-* Sat Mar 14 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.26
-- fix ppc64 regression caused by the power7 backport (#490149,
- PR target/39457)
-
-* Fri Mar 13 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.25
-- update from trunk
- - PRs debug/39086, debug/39432, libobjc/27466, middle-end/37850,
- target/39137, target/39181, target/39431, target/39445, target/5362,
- testsuite/39451, tree-optimization/39422
-- fix ICE in gen_tagged_type_instantiation_die (#489308, PR debug/39412)
-- fix memcmp builtin asm redirection (PR middle-end/39443)
-- fix sparcv9 profiledbootstrap (PR bootstrap/39454)
-
-* Thu Mar 12 2009 Dennis Gilmore <dennis@ausil.us>
-- don't build with graphite support on sparc arches
- - still missing some deps
-
-* Tue Mar 10 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.24
-- update from trunk
- - PRs ada/39221, c++/39060, c++/39367, c++/39371, libfortran/39402,
- middle-end/38028, target/39361, tree-optimization/39394
-- use system cloog-ppl instead of building a private libcloog.so.0 (#489183)
-- preliminary Power7 support (#463846)
-
-* Sat Mar 7 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.23
-- update from trunk
- - PRs c++/13549, c++/29469, c++/29607, c++/33492, c++/37520, c++/38908,
- c++/9634, debug/39372, middle-end/39360, rtl-optimization/39235,
- testsuite/39357, tree-optimization/39349
- - emit DW_TAG_imported* even in main or in lexical blocks that
- contain no automatic variables (#488547, PR debug/39379)
- - fix DW_AT_decl_line on DW_TAG_imported* (#488771, PR debug/39387)
- - fix SCCVN with SSA names occurring in abnormal PHIs (#488061,
- PR tree-optimization/39362)
-
-* Wed Mar 4 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.22
-- update from trunk
- - PRs ada/39172, ada/39264, bootstrap/39257, c++/36411, c++/37789,
- c++/38880, c++/39225, c++/39242, c/12245, classpath/38417,
- classpath/38912, debug/39267, debug/39285, fortran/38914,
- fortran/39292, fortran/39295, fortran/39309, fortran/39354,
- libgcj/38861, middle-end/10109, middle-end/34443,
- middle-end/39157, middle-end/39272, middle-end/39308,
- middle-end/39335, middle-end/39345, rtl-optimization/39241,
- target/33785, target/35965, target/39256, target/39261,
- target/39327, testsuite/38164, tree-optimization/37709,
- tree-optimization/39248, tree-optimization/39259,
- tree-optimization/39260, tree-optimization/39318,
- tree-optimization/39331, tree-optimizations/39259,
- tree-optimization/39358
- - fix ivopts (#486088, PR tree-optimization/39233)
- - fix SRA (#487795, PR tree-optimization/39339)
- - fix __builtin_object_size with unions (#487702,
- PR tree-optimization/39343)
-- fix ppc -m64 -O2 -mtune=cell and patterns (#485067, PR target/39226)
-- -march=atom/-mtune=atom support from ix86/atom branch
-
-* Thu Feb 19 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.21
-- update from trunk
- - PRs c++/39188, c++/39219, c/35447, c/38483, target/34587,
- target/38891, target/39082, target/39179, target/39224,
- target/39228, testsuite/38165, testsuite/38166,
- tree-optimization/36922, tree-optimization/39074,
- - another bogus aliasing warning fix (#485463, PR tree-optimization/39207)
-- fix tail call optimization on ppc (#485067, PR target/39240)
-
-* Tue Feb 17 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.20
-- update from trunk
- - PRs c/35446, middle-end/39214, tree-optimization/39202
- - fix ICE in compute_attic (#485708, PR tree-optimization/39204)
- - fix bogus aliasing warning (#485463, PR tree-optimization/39207)
-- update for i386.rpm -> i586.rpm switch
-
-* Mon Feb 16 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.19
-- update from trunk
- - PRs c++/39070, fortran/36528, fortran/36703, fortran/38259,
- libstdc++/39168, target/37049, target/38056, target/39149,
- target/39162, target/39196
- - ix86 peephole fix (#485729, PR target/39152)
- - uglify function parameter names in gthr*.h (#485619)
-
-* Fri Feb 13 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.18
-- update from trunk
- - PRs c++/30111, c++/38950, c++/39153, c/35444, middle-end/39154,
- target/38824, target/39152
-- fix ICE on ppc32 with -fpic -fvisibility=hidden (#485232, PR target/39175)
-
-* Wed Feb 11 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.17
-- update from trunk
- - fix ICE on xen (PR target/39139)
- - PRs c++/34397, c++/35147, c++/36744, c++/37737, c++/38649, c++/39109,
- c/35434, c/36432, c/39035, c/39084, middle-end/35202,
- middle-end/38953, middle-end/38981, middle-end/39124,
- middle-end/39127, target/39118, target/39119, testsuite/33300,
- tree-optimization/39132
-- force emitting .debug_info for empty CUs with -g3 (#479912)
-
-* Fri Feb 6 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.16
-- update from trunk
- - don't emit thunks for versioned functions (PR c++/39106)
- - fix -fstrict-aliasing miscompilation (PR tree-optimization/39100)
-
-* Wed Feb 4 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.15
-- update from trunk
- - C++ mangling fix (PR c++/39095)
- - only complain about calling main in C++ if -pedantic
-- add raw string support
-
-* Tue Feb 3 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.14
-- update from trunk
-- when compiling with -march=i386, don't use __sync_* builtins in
- ext/atomicity.h
-
-* Wed Jan 28 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.13
-- fix graphite make check
-
-* Tue Jan 27 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.12
-- update from trunk
-- add graphite support
-- change gcc default ISA and tuning:
- i386 and x86_64 -m32:
- -march=i586 -mtune=generic from -march=i386 -mtune=generic
- x86_64 -m64 remains at:
- -march=x86-64 -mtune=generic
- s390 and s390x -m31:
- -march=z9-109 -mtune=z10 from -march=g5 -mtune=z9-109
- s390x -m64:
- -march=z9-109 -mtune=z10 from -march=z900 -mtune=z9-109
-
-* Wed Jan 21 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.9
-- rebuilt without ppc64 ada bootstrap hacks
-
-* Tue Jan 20 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.8
-- attempt to enable Ada support on ppc64
-
-* Fri Jan 16 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.3
-- initial 4.4 package, using newly created redhat/gcc-4_4-branch
+* Wed Jun 7 2010 Jakub Jelinek <jakub@redhat.com> 4.5.0-1
+- initial 4.5 package, using newly created redhat/gcc-4_5-branch
diff --git a/gcc44-build-id.patch b/gcc44-build-id.patch
deleted file mode 100644
index f76f939..0000000
--- a/gcc44-build-id.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-2007-07-22 Roland McGrath <roland@redhat.com>
-
- * config/rs6000/sysv4.h (LINK_EH_SPEC): Add --build-id for
- non-relocatable link.
- * config/linux.h (LINK_EH_SPEC): Likewise.
- * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
- * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
-
---- gcc/config/rs6000/sysv4.h.~1~
-+++ gcc/config/rs6000/sysv4.h
-@@ -906,7 +906,7 @@ extern int fixuplabelno;
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
-
- #if defined(HAVE_LD_EH_FRAME_HDR)
--# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-+# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
- #endif
-
- #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
---- gcc/config/linux.h.~1~
-+++ gcc/config/linux.h
-@@ -85,7 +85,7 @@ Boston, MA 02110-1301, USA. */
- } while (0)
-
- #if defined(HAVE_LD_EH_FRAME_HDR)
--#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
- #endif
-
- /* Define this so we can compile MS code for use with WINE. */
---- gcc/config/alpha/elf.h.~1~
-+++ gcc/config/alpha/elf.h
-@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
- I imagine that other systems will catch up. In the meantime, it
- doesn't harm to make sure that the data exists to be used later. */
- #if defined(HAVE_LD_EH_FRAME_HDR)
--#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
- #endif
-
- /* A C statement (sans semicolon) to output to the stdio stream STREAM
---- gcc/config/ia64/linux.h.~1~
-+++ gcc/config/ia64/linux.h
-@@ -56,7 +56,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 "%{!r:--build-id} "
-
- #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
-
diff --git a/gcc44-c++-builtin-redecl.patch b/gcc44-c++-builtin-redecl.patch
deleted file mode 100644
index 1f36f1f..0000000
--- a/gcc44-c++-builtin-redecl.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-2007-10-02 Jakub Jelinek <jakub@redhat.com>
-
- * decl.c (duplicate_decls): When redeclaring a builtin function,
- keep the merged decl builtin whenever types match, even if new
- decl defines a function.
-
- * gcc.dg/builtins-65.c: New test.
- * g++.dg/ext/builtin10.C: New test.
-
---- 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
- DECL_ARGUMENTS (olddecl) = DECL_ARGUMENTS (newdecl);
- DECL_RESULT (olddecl) = DECL_RESULT (newdecl);
- }
-+ /* If redeclaring a builtin function, it stays built in. */
-+ if (types_match && DECL_BUILT_IN (olddecl))
-+ {
-+ DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
-+ DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
-+ /* If we're keeping the built-in definition, keep the rtl,
-+ regardless of declaration matches. */
-+ COPY_DECL_RTL (olddecl, newdecl);
-+ }
- if (new_defines_function)
- /* If defining a function declared with other language
- linkage, use the previously declared language linkage. */
- SET_DECL_LANGUAGE (newdecl, DECL_LANGUAGE (olddecl));
- else if (types_match)
- {
-- /* If redeclaring a builtin function, and not a definition,
-- it stays built in. */
-- if (DECL_BUILT_IN (olddecl))
-- {
-- DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
-- DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
-- /* If we're keeping the built-in definition, keep the rtl,
-- regardless of declaration matches. */
-- COPY_DECL_RTL (olddecl, newdecl);
-- }
--
- DECL_RESULT (newdecl) = DECL_RESULT (olddecl);
- /* Don't clear out the arguments if we're just redeclaring a
- function. */
---- gcc/testsuite/gcc.dg/builtins-65.c.jj 2007-10-02 11:23:51.000000000 +0200
-+++ gcc/testsuite/gcc.dg/builtins-65.c 2007-10-02 11:24:12.000000000 +0200
-@@ -0,0 +1,25 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+typedef __SIZE_TYPE__ size_t;
-+extern void __chk_fail (void);
-+extern int snprintf (char *, size_t, const char *, ...);
-+extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
-+{
-+ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
-+ __chk_fail ();
-+ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
-+}
-+extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
-+
-+char buf[10];
-+
-+int
-+main (void)
-+{
-+ snprintf (buf, 10, "%d%d\n", 10, 10);
-+ return 0;
-+}
-+
-+/* { dg-final { scan-assembler "mysnprintf" } } */
-+/* { dg-final { scan-assembler-not "__chk_fail" } } */
---- gcc/testsuite/g++.dg/ext/builtin10.C.jj 2007-10-02 11:19:45.000000000 +0200
-+++ gcc/testsuite/g++.dg/ext/builtin10.C 2007-10-02 11:23:26.000000000 +0200
-@@ -0,0 +1,27 @@
-+// { dg-do compile }
-+// { dg-options "-O2" }
-+
-+typedef __SIZE_TYPE__ size_t;
-+extern "C" {
-+extern void __chk_fail (void);
-+extern int snprintf (char *, size_t, const char *, ...);
-+extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
-+{
-+ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
-+ __chk_fail ();
-+ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
-+}
-+extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
-+}
-+
-+char buf[10];
-+
-+int
-+main (void)
-+{
-+ snprintf (buf, 10, "%d%d\n", 10, 10);
-+ return 0;
-+}
-+
-+// { dg-final { scan-assembler "mysnprintf" } }
-+// { dg-final { scan-assembler-not "__chk_fail" } }
diff --git a/gcc44-cloog-dl.patch b/gcc44-cloog-dl.patch
deleted file mode 100644
index cb8cbc7..0000000
--- a/gcc44-cloog-dl.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-2009-01-27 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of -lcloog -lppl.
- (graphite.o): Force -O, remove -fkeep-inline-functions.
- * graphite.c: Include <dlfcn.h>. Reference libcloog and libppl symbols
- through pointers in cloog_pointers variable.
- (init_cloog_pointers): New function.
- (gcc_type_for_iv_of_clast_loop): Rename stmt_for argument to stmt_fora.
- (graphite_transform_loops): Call init_cloog_pointers.
-
---- gcc/Makefile.in.jj 2009-01-26 20:50:38.000000000 +0100
-+++ gcc/Makefile.in 2009-01-27 14:18:10.000000000 +0100
-@@ -915,7 +915,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # How to link with both our special library facilities
- # and the system's installed libraries.
- LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS)
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),-ldl)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-
-@@ -3076,6 +3076,9 @@ $(out_object_file): $(out_file) $(CONFIG
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
- $(out_file) $(OUTPUT_OPTION)
-
-+graphite.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o version.o $(LIBDEPS)
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tfile.o version.o $(LIBS)
---- gcc/graphite.c.jj 2009-01-24 19:59:02.000000000 +0100
-+++ gcc/graphite.c 2009-01-27 14:52:08.000000000 +0100
-@@ -59,6 +59,110 @@ along with GCC; see the file COPYING3.
- #include "cloog/cloog.h"
- #include "graphite.h"
-
-+#include <dlfcn.h>
-+#define DYNSYMS \
-+ DYNSYM (cloog_block_alloc); \
-+ DYNSYM (cloog_block_list_free); \
-+ DYNSYM (cloog_block_list_malloc); \
-+ DYNSYM (cloog_clast_create); \
-+ DYNSYM (cloog_clast_free); \
-+ DYNSYM (cloog_domain_free); \
-+ DYNSYM (cloog_domain_matrix2domain); \
-+ DYNSYM (cloog_initialize); \
-+ DYNSYM (cloog_loop_malloc); \
-+ DYNSYM (cloog_matrix_alloc); \
-+ DYNSYM (cloog_matrix_copy); \
-+ DYNSYM (cloog_matrix_free); \
-+ DYNSYM (cloog_matrix_print); \
-+ DYNSYM (cloog_names_malloc); \
-+ DYNSYM (cloog_names_scalarize); \
-+ DYNSYM (cloog_options_free); \
-+ DYNSYM (cloog_options_malloc); \
-+ DYNSYM (cloog_program_dump_cloog); \
-+ DYNSYM (cloog_program_extract_scalars); \
-+ DYNSYM (cloog_program_free); \
-+ DYNSYM (cloog_program_generate); \
-+ DYNSYM (cloog_program_malloc); \
-+ DYNSYM (cloog_program_print); \
-+ DYNSYM (cloog_program_scatter); \
-+ DYNSYM (cloog_statement_alloc); \
-+ DYNSYM (ppl_finalize); \
-+ DYNSYM (pprint); \
-+ DYNSYM (stmt_block); \
-+ DYNSYM (stmt_for); \
-+ DYNSYM (stmt_guard); \
-+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user);
-+static struct
-+{
-+ bool inited;
-+ void *h;
-+#define DYNSYM(x) __typeof (x) *p_##x
-+ DYNSYMS
-+#undef DYNSYM
-+} cloog_pointers;
-+
-+#define cloog_block_alloc (*cloog_pointers.p_cloog_block_alloc)
-+#define cloog_block_list_free (*cloog_pointers.p_cloog_block_list_free)
-+#define cloog_block_list_malloc (*cloog_pointers.p_cloog_block_list_malloc)
-+#define cloog_clast_create (*cloog_pointers.p_cloog_clast_create)
-+#define cloog_clast_free (*cloog_pointers.p_cloog_clast_free)
-+#define cloog_domain_free (*cloog_pointers.p_cloog_domain_free)
-+#define cloog_domain_matrix2domain (*cloog_pointers.p_cloog_domain_matrix2domain)
-+#define cloog_initialize (*cloog_pointers.p_cloog_initialize)
-+#define cloog_loop_malloc (*cloog_pointers.p_cloog_loop_malloc)
-+#define cloog_matrix_alloc (*cloog_pointers.p_cloog_matrix_alloc)
-+#define cloog_matrix_copy (*cloog_pointers.p_cloog_matrix_copy)
-+#define cloog_matrix_free (*cloog_pointers.p_cloog_matrix_free)
-+#define cloog_matrix_print (*cloog_pointers.p_cloog_matrix_print)
-+#define cloog_names_malloc (*cloog_pointers.p_cloog_names_malloc)
-+#define cloog_names_scalarize (*cloog_pointers.p_cloog_names_scalarize)
-+#define cloog_options_free (*cloog_pointers.p_cloog_options_free)
-+#define cloog_options_malloc (*cloog_pointers.p_cloog_options_malloc)
-+#define cloog_program_dump_cloog (*cloog_pointers.p_cloog_program_dump_cloog)
-+#define cloog_program_extract_scalars (*cloog_pointers.p_cloog_program_extract_scalars)
-+#define cloog_program_free (*cloog_pointers.p_cloog_program_free)
-+#define cloog_program_generate (*cloog_pointers.p_cloog_program_generate)
-+#define cloog_program_malloc (*cloog_pointers.p_cloog_program_malloc)
-+#define cloog_program_print (*cloog_pointers.p_cloog_program_print)
-+#define cloog_program_scatter (*cloog_pointers.p_cloog_program_scatter)
-+#define cloog_statement_alloc (*cloog_pointers.p_cloog_statement_alloc)
-+#define ppl_finalize (*cloog_pointers.p_ppl_finalize)
-+#define pprint (*cloog_pointers.p_pprint)
-+#define stmt_block (*cloog_pointers.p_stmt_block)
-+#define stmt_for (*cloog_pointers.p_stmt_for)
-+#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 cloog_finalize (*cloog_pointers.p_ppl_finalize)
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers.inited)
-+ return cloog_pointers.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
- static VEC (scop_p, heap) *current_scops;
-
- /* Converts a GMP constant V to a tree and returns it. */
-@@ -4019,10 +4151,10 @@ clast_get_body_of_loop (struct clast_stm
- STMT. */
-
- static tree
--gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for)
-+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora)
- {
-- struct clast_user_stmt *stmt = clast_get_body_of_loop ((struct clast_stmt *) stmt_for);
-- const char *cloog_iv = stmt_for->iterator;
-+ struct clast_user_stmt *stmt = clast_get_body_of_loop ((struct clast_stmt *) stmt_fora);
-+ const char *cloog_iv = stmt_fora->iterator;
- CloogStatement *cs = stmt->statement;
- graphite_bb_p gbb = (graphite_bb_p) cloog_statement_usr (cs);
-
-@@ -6061,6 +6193,12 @@ graphite_transform_loops (void)
- if (number_of_loops () <= 1)
- return;
-
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return;
-+ }
-+
- current_scops = VEC_alloc (scop_p, heap, 3);
- recompute_all_dominators ();
-
diff --git a/gcc44-hack.patch b/gcc44-hack.patch
deleted file mode 100644
index 8719d17..0000000
--- a/gcc44-hack.patch
+++ /dev/null
@@ -1,66 +0,0 @@
---- 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)
- ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
-
-+DEFAULTMULTIFLAGS :=
-+ifeq ($(MULTISUBDIR),)
-+targ:=$(subst -, ,$(target))
-+arch:=$(word 1,$(targ))
-+ifeq ($(words $(targ)),2)
-+osys:=$(word 2,$(targ))
-+else
-+osys:=$(word 3,$(targ))
-+endif
-+ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),)
-+ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64)
-+DEFAULTMULTIFLAGS := -m64
-+else
-+ifeq ($(strip $(filter-out s390%, $(arch))),)
-+DEFAULTMULTIFLAGS := -m31
-+else
-+DEFAULTMULTIFLAGS := -m32
-+endif
-+endif
-+endif
-+endif
-+
- # exeext should not be used because it's the *host* exeext. We're building
- # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus
- # definitions just in case something slips through the safety net provided
- # by recursive make invocations in gcc/ada/Makefile.in
- LIBADA_FLAGS_TO_PASS = \
- "MAKEOVERRIDES=" \
-- "LDFLAGS=$(LDFLAGS)" \
-+ "LDFLAGS=$(strip $(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)" \
- "THREAD_KIND=$(THREAD_KIND)" \
- "TRACE=$(TRACE)" \
-@@ -91,7 +113,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))"
-
- # Rules to build gnatlib.
- .PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared oscons
---- gcc/ada/make.adb 2008-11-07 23:00:32.000000000 +0100
-+++ gcc/ada/make.adb 2009-01-16 17:55:02.000000000 +0100
-@@ -8039,6 +8039,7 @@ package body Make is
- or else Argv (2 .. Argv'Last) = "pg"
- or else (Argv (2) = 'm' and then Argv'Last > 2)
- or else (Argv (2) = 'f' and then Argv'Last > 2)
-+ or else (Argv'Last >= 8 and then Argv (2 .. 8) = "-param=")
- then
- Add_Switch (Argv, Compiler, And_Save => And_Save);
- Add_Switch (Argv, Linker, And_Save => And_Save);
diff --git a/gcc44-i386-libgomp.patch b/gcc44-i386-libgomp.patch
deleted file mode 100644
index 5d1eea8..0000000
--- a/gcc44-i386-libgomp.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Build i386.rpm libgomp and libsupc++.a(guard.o) as i486+, pre-i486
-hardware isn't supported because NPTL doesn't support it anyway.
-
---- 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[3456]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
- ;;
---- libstdc++-v3/libsupc++/guard.cc.jj 2008-03-01 00:58:24.000000000 +0100
-+++ libstdc++-v3/libsupc++/guard.cc 2008-03-27 14:08:44.000000000 +0100
-@@ -35,6 +35,27 @@
- #include <new>
- #include <ext/atomicity.h>
- #include <ext/concurrence.h>
-+#if defined __i386__ && !defined _GLIBCXX_ATOMIC_BUILTINS_4
-+# define _GLIBCXX_ATOMIC_BUILTINS_4 1
-+# define __sync_val_compare_and_swap(a, b, c) \
-+ ({ \
-+ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
-+ int sltas; \
-+ __asm __volatile ("lock; cmpxchgl %3, (%1)" \
-+ : "=a" (sltas) \
-+ : "r" (a), "0" (b), "r" (c) : "memory"); \
-+ sltas; \
-+ })
-+# define __sync_lock_test_and_set(a, b) \
-+ ({ \
-+ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
-+ int sltas; \
-+ __asm __volatile ("xchgl (%1), %0" \
-+ : "=r" (sltas) \
-+ : "r" (a), "0" (b) : "memory"); \
-+ sltas; \
-+ })
-+#endif
- #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \
- && defined(_GLIBCXX_ATOMIC_BUILTINS_4) && defined(_GLIBCXX_HAVE_LINUX_FUTEX)
- # include <climits>
diff --git a/gcc44-ia64-libunwind.patch b/gcc44-ia64-libunwind.patch
deleted file mode 100644
index 8e10979..0000000
--- a/gcc44-ia64-libunwind.patch
+++ /dev/null
@@ -1,538 +0,0 @@
-2004-11-27 Jakub Jelinek <jakub@redhat.com>
-
- * config.gcc (ia64*-*-linux*): If native and libelf is installed,
- use ia64/t-glibc-no-libunwind instead of the other t-*unwind*
- fragments.
- * config/ia64/t-glibc-no-libunwind: New file.
- * config/ia64/change-symver.c: New file.
- * config/ia64/unwind-ia64.c: If USE_SYMVER_GLOBAL and SHARED,
- define _Unwind_* to __symverglobal_Unwind_*.
- (alias): Undefine.
- (symverglobal): Define. Use it on _Unwind_*.
- * config/ia64/mkmap-symver-multi.awk: New file.
- * config/ia64/libgcc-ia64-no-libunwind.ver: New file.
-
---- gcc/config.gcc.jj 2004-10-04 08:55:44.000000000 -0400
-+++ gcc/config.gcc 2004-11-13 05:23:50.000000000 -0500
-@@ -1185,9 +1185,16 @@ ia64*-*-freebsd*)
- ;;
- ia64*-*-linux*)
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
-- tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc"
-- if test x$with_system_libunwind != xyes ; then
-- tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
-+ tmake_file="${tmake_file} ia64/t-ia64"
-+ if test x${target} = x${host} && test x${target} = x${build} \
-+ && grep gelf_getverdef /usr/include/gelf.h > /dev/null 2>&1 \
-+ && test -f /usr/lib/libelf.so; then
-+ tmake_file="${tmake_file} ia64/t-glibc-no-libunwind"
-+ else
-+ tmake_file="${tmake_file} t-libunwind ia64/t-glibc"
-+ if test x$with_system_libunwind != xyes ; then
-+ tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
-+ fi
- fi
- target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
- extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
---- gcc/config/ia64/t-glibc-no-libunwind.jj 2004-02-18 10:27:36.000000000 -0500
-+++ gcc/config/ia64/t-glibc-no-libunwind 2004-11-15 09:56:33.000000000 -0500
-@@ -0,0 +1,30 @@
-+# Don't use system libunwind library on IA-64 GLIBC based system,
-+# but make _Unwind_* symbols unversioned, so that created programs
-+# are usable even when libgcc_s uses libunwind.
-+LIB2ADDEH += $(srcdir)/config/ia64/fde-glibc.c
-+SHLIB_MAPFILES += $(srcdir)/config/ia64/libgcc-ia64-no-libunwind.ver
-+SHLIB_MKMAP = $(srcdir)/config/ia64/mkmap-symver-multi.awk
-+
-+SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-+ -Wl,--soname=$(SHLIB_SONAME) \
-+ -Wl,--version-script=$(SHLIB_MAP) \
-+ -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ $(SHLIB_OBJS) -lc && \
-+ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
-+ if [ -f $(SHLIB_DIR)/$(SHLIB_SONAME) ]; then \
-+ mv -f $(SHLIB_DIR)/$(SHLIB_SONAME) \
-+ $(SHLIB_DIR)/$(SHLIB_SONAME).backup; \
-+ else true; fi && \
-+ gcc -O2 -o $(SHLIB_DIR)/$(SHLIB_SONAME).tweak \
-+ $$(gcc_srcdir)/config/ia64/change-symver.c -lelf && \
-+ $(SHLIB_DIR)/$(SHLIB_SONAME).tweak $(SHLIB_DIR)/$(SHLIB_SONAME).tmp \
-+ GCC_3.4.2 _GLOBAL_ \
-+ _Unwind_GetGR _Unwind_RaiseException _Unwind_GetRegionStart _Unwind_SetIP \
-+ _Unwind_GetIP _Unwind_GetLanguageSpecificData _Unwind_Resume \
-+ _Unwind_DeleteException _Unwind_SetGR _Unwind_ForcedUnwind \
-+ _Unwind_Backtrace _Unwind_FindEnclosingFunction _Unwind_GetCFA \
-+ _Unwind_Resume_or_Rethrow _Unwind_GetBSP && \
-+ rm -f $(SHLIB_DIR)/$(SHLIB_SONAME).tweak && \
-+ mv $(SHLIB_DIR)/$(SHLIB_SONAME).tmp $(SHLIB_DIR)/$(SHLIB_SONAME) && \
-+ $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK)
-+
-+TARGET_LIBGCC2_CFLAGS += -DUSE_SYMVER_GLOBAL
---- gcc/config/ia64/change-symver.c.jj 2004-02-18 10:27:36.000000000 -0500
-+++ gcc/config/ia64/change-symver.c 2004-11-13 05:23:50.000000000 -0500
-@@ -0,0 +1,211 @@
-+#define _GNU_SOURCE 1
-+#define _FILE_OFFSET_BITS 64
-+#include <endian.h>
-+#include <errno.h>
-+#include <error.h>
-+#include <fcntl.h>
-+#include <fnmatch.h>
-+#include <gelf.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+int
-+compute_veridx (const char *name, Elf *elf, Elf_Data *verd, GElf_Shdr *verd_shdr)
-+{
-+ if (strcmp (name, "_GLOBAL_") == 0)
-+ return 1;
-+
-+ int cnt;
-+ size_t offset = 0;
-+ for (cnt = verd_shdr->sh_info; --cnt >= 0; )
-+ {
-+ GElf_Verdef defmem;
-+ GElf_Verdef *def;
-+ GElf_Verdaux auxmem;
-+ GElf_Verdaux *aux;
-+ unsigned int auxoffset;
-+
-+ /* Get the data at the next offset. */
-+ def = gelf_getverdef (verd, offset, &defmem);
-+ if (def == NULL)
-+ break;
-+
-+ auxoffset = offset + def->vd_aux;
-+ aux = gelf_getverdaux (verd, auxoffset, &auxmem);
-+ if (aux == NULL)
-+ break;
-+
-+ if (strcmp (name, elf_strptr (elf, verd_shdr->sh_link,
-+ aux->vda_name)) == 0)
-+ return def->vd_ndx;
-+
-+ /* Find the next offset. */
-+ offset += def->vd_next;
-+ }
-+
-+ return -1;
-+}
-+
-+int
-+main (int argc, char **argv)
-+{
-+ if (argc < 4)
-+ error (1, 0, "Usage: change_symver library from_symver to_symver symbol...\nExample: change_symver libfoo.so FOO_1.0 *global* bar baz");
-+
-+ const char *fname = argv[1];
-+
-+ /* Open the file. */
-+ int fd;
-+ fd = open (fname, O_RDWR);
-+ if (fd == -1)
-+ error (1, errno, fname);
-+
-+ elf_version (EV_CURRENT);
-+
-+ /* Now get the ELF descriptor. */
-+ Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
-+ if (elf == NULL || elf_kind (elf) != ELF_K_ELF)
-+ error (1, 0, "Couldn't open %s: %s", fname, elf_errmsg (-1));
-+
-+ size_t shstrndx;
-+ /* Get the section header string table index. */
-+ if (elf_getshstrndx (elf, &shstrndx) < 0)
-+ error (1, 0, "cannot get shstrndx from %s", fname);
-+
-+ GElf_Ehdr ehdr_mem;
-+ GElf_Ehdr *ehdr;
-+
-+ /* We need the ELF header in a few places. */
-+ ehdr = gelf_getehdr (elf, &ehdr_mem);
-+ if (ehdr == NULL)
-+ error (1, 0, "couldn't get ELF headers %s: %s", fname, elf_errmsg (-1));
-+
-+ Elf_Scn *scn = NULL;
-+ GElf_Shdr shdr_mem, verd_shdr, ver_shdr, dynsym_shdr;
-+ Elf_Data *ver = NULL, *verd = NULL, *dynsym = NULL;
-+
-+ while ((scn = elf_nextscn (elf, scn)) != NULL)
-+ {
-+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
-+
-+ if (shdr == NULL)
-+ error (1, 0, "couldn't get shdr from %s", fname);
-+
-+ if ((shdr->sh_flags & SHF_ALLOC) != 0)
-+ {
-+ const char *name = elf_strptr (elf, shstrndx, shdr->sh_name);
-+ Elf_Data **p;
-+
-+ if (strcmp (name, ".gnu.version") == 0)
-+ {
-+ p = &ver;
-+ ver_shdr = *shdr;
-+ }
-+ else if (strcmp (name, ".gnu.version_d") == 0)
-+ {
-+ p = &verd;
-+ verd_shdr = *shdr;
-+ }
-+ else if (strcmp (name, ".dynsym") == 0)
-+ {
-+ p = &dynsym;
-+ dynsym_shdr = *shdr;
-+ }
-+ else
-+ continue;
-+
-+ if (*p != NULL)
-+ error (1, 0, "Two %s sections in %s", name, fname);
-+ *p = elf_getdata (scn, NULL);
-+ if (*p == NULL || elf_getdata (scn, *p) != NULL)
-+ error (1, 0, "No data or non-contiguous data in %s section in %s",
-+ name, fname);
-+ }
-+ }
-+
-+ if (ver == NULL || verd == NULL || dynsym == NULL)
-+ error (1, 0, "Couldn't find one of the needed sections in %s", fname);
-+
-+ int from_idx = compute_veridx (argv[2], elf, verd, &verd_shdr);
-+ if (from_idx == -1)
-+ error (1, 0, "Could not find symbol version %s in %s", argv[2], fname);
-+
-+ int to_idx = compute_veridx (argv[3], elf, verd, &verd_shdr);
-+ if (to_idx == -1)
-+ error (1, 0, "Could not find symbol version %s in %s", argv[3], fname);
-+
-+ if (dynsym_shdr.sh_entsize != gelf_fsize (elf, ELF_T_SYM, 1, ehdr->e_version)
-+ || dynsym_shdr.sh_size % dynsym_shdr.sh_entsize
-+ || ver_shdr.sh_entsize != 2
-+ || (ver_shdr.sh_size & 1)
-+ || dynsym_shdr.sh_size / dynsym_shdr.sh_entsize != ver_shdr.sh_size / 2)
-+ error (1, 0, "Unexpected sh_size or sh_entsize in %s", fname);
-+
-+ size_t nentries = ver_shdr.sh_size / 2;
-+ size_t cnt;
-+ GElf_Versym array[nentries];
-+ for (cnt = 0; cnt < nentries; ++cnt)
-+ {
-+ GElf_Versym vsymmem;
-+ GElf_Versym *vsym;
-+
-+ vsym = gelf_getversym (ver, cnt, &vsymmem);
-+ if (vsym == NULL)
-+ error (1, 0, "gelt_getversym failed in %s: %s", fname, elf_errmsg (-1));
-+
-+ array[cnt] = *vsym;
-+ if (*vsym != from_idx)
-+ continue;
-+
-+ GElf_Sym sym_mem;
-+ GElf_Sym *sym;
-+ sym = gelf_getsym (dynsym, cnt, &sym_mem);
-+ if (sym == NULL)
-+ error (1, 0, "gelt_getsym failed in %s: %s", fname, elf_errmsg (-1));
-+
-+ const char *name = elf_strptr (elf, dynsym_shdr.sh_link, sym->st_name);
-+
-+ int argn;
-+ for (argn = 4; argn < argc; ++argn)
-+ if (fnmatch (argv[argn], name, 0) == 0)
-+ {
-+ array[cnt] = to_idx;
-+ break;
-+ }
-+ }
-+
-+ if (sizeof (array[0]) != 2)
-+ abort ();
-+
-+#if __BYTE_ORDER == __LITTLE_ENDIAN
-+ if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB)
-+ ;
-+ else if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB)
-+#elif __BYTE_ORDER == __BIG_ENDIAN
-+ if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB)
-+ ;
-+ else if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB)
-+#else
-+# error Unsupported endianity
-+#endif
-+ {
-+ for (cnt = 0; cnt < nentries; ++cnt)
-+ array[cnt] = ((array[cnt] & 0xff) << 8) | ((array[cnt] & 0xff00) >> 8);
-+ }
-+ else
-+ error (1, 0, "Unknown EI_DATA %d in %s", ehdr->e_ident[EI_DATA], fname);
-+
-+ if (elf_end (elf) != 0)
-+ error (1, 0, "couldn't close %s: %s", fname, elf_errmsg (-1));
-+
-+ if (lseek (fd, ver_shdr.sh_offset, SEEK_SET) != (off_t) ver_shdr.sh_offset)
-+ error (1, 0, "failed to seek to %zd in %s", (size_t) ver_shdr.sh_offset,
-+ fname);
-+
-+ if (write (fd, array, 2 * nentries) != (ssize_t) (2 * nentries))
-+ error (1, 0, "failed to write .gnu.version section into %s", fname);
-+
-+ close (fd);
-+ return 0;
-+}
---- gcc/config/ia64/unwind-ia64.c.jj 2004-10-04 08:55:57.000000000 -0400
-+++ gcc/config/ia64/unwind-ia64.c 2004-11-15 09:07:45.000000000 -0500
-@@ -51,6 +51,51 @@
- #define UNW_FLAG_UHANDLER(x) ((x) & 0x0000000200000000L)
- #define UNW_LENGTH(x) ((x) & 0x00000000ffffffffL)
-
-+#if defined (USE_SYMVER_GLOBAL) && defined (SHARED)
-+extern _Unwind_Reason_Code __symverglobal_Unwind_Backtrace
-+ (_Unwind_Trace_Fn, void *);
-+extern void __symverglobal_Unwind_DeleteException
-+ (struct _Unwind_Exception *);
-+extern void * __symverglobal_Unwind_FindEnclosingFunction (void *);
-+extern _Unwind_Reason_Code __symverglobal_Unwind_ForcedUnwind
-+ (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
-+extern _Unwind_Word __symverglobal_Unwind_GetCFA
-+ (struct _Unwind_Context *);
-+extern _Unwind_Word __symverglobal_Unwind_GetBSP
-+ (struct _Unwind_Context *);
-+extern _Unwind_Word __symverglobal_Unwind_GetGR
-+ (struct _Unwind_Context *, int );
-+extern _Unwind_Ptr __symverglobal_Unwind_GetIP (struct _Unwind_Context *);
-+extern void *__symverglobal_Unwind_GetLanguageSpecificData
-+ (struct _Unwind_Context *);
-+extern _Unwind_Ptr __symverglobal_Unwind_GetRegionStart
-+ (struct _Unwind_Context *);
-+extern _Unwind_Reason_Code __symverglobal_Unwind_RaiseException
-+ (struct _Unwind_Exception *);
-+extern void __symverglobal_Unwind_Resume (struct _Unwind_Exception *);
-+extern _Unwind_Reason_Code __symverglobal_Unwind_Resume_or_Rethrow
-+ (struct _Unwind_Exception *);
-+extern void __symverglobal_Unwind_SetGR
-+ (struct _Unwind_Context *, int, _Unwind_Word);
-+extern void __symverglobal_Unwind_SetIP
-+ (struct _Unwind_Context *, _Unwind_Ptr);
-+#define _Unwind_Backtrace __symverglobal_Unwind_Backtrace
-+#define _Unwind_DeleteException __symverglobal_Unwind_DeleteException
-+#define _Unwind_FindEnclosingFunction __symverglobal_Unwind_FindEnclosingFunction
-+#define _Unwind_ForcedUnwind __symverglobal_Unwind_ForcedUnwind
-+#define _Unwind_GetBSP __symverglobal_Unwind_GetBSP
-+#define _Unwind_GetCFA __symverglobal_Unwind_GetCFA
-+#define _Unwind_GetGR __symverglobal_Unwind_GetGR
-+#define _Unwind_GetIP __symverglobal_Unwind_GetIP
-+#define _Unwind_GetLanguageSpecificData __symverglobal_Unwind_GetLanguageSpecificData
-+#define _Unwind_GetRegionStart __symverglobal_Unwind_GetRegionStart
-+#define _Unwind_RaiseException __symverglobal_Unwind_RaiseException
-+#define _Unwind_Resume __symverglobal_Unwind_Resume
-+#define _Unwind_Resume_or_Rethrow __symverglobal_Unwind_Resume_or_Rethrow
-+#define _Unwind_SetGR __symverglobal_Unwind_SetGR
-+#define _Unwind_SetIP __symverglobal_Unwind_SetIP
-+#endif
-+
- enum unw_application_register
- {
- UNW_AR_BSP,
-@@ -2402,4 +2447,44 @@ alias (_Unwind_SetGR);
- alias (_Unwind_SetIP);
- #endif
-
-+#if defined (USE_SYMVER_GLOBAL) && defined (SHARED)
-+#undef alias
-+#define symverglobal(name, version) \
-+__typeof (__symverglobal##name) __symverlocal##name \
-+ __attribute__ ((alias ("__symverglobal" #name))); \
-+__asm__ (".symver __symverglobal" #name"," #name "@@GCC_3.4.2");\
-+__asm__ (".symver __symverlocal" #name"," #name "@" #version)
-+
-+#undef _Unwind_Backtrace
-+#undef _Unwind_DeleteException
-+#undef _Unwind_FindEnclosingFunction
-+#undef _Unwind_ForcedUnwind
-+#undef _Unwind_GetBSP
-+#undef _Unwind_GetCFA
-+#undef _Unwind_GetGR
-+#undef _Unwind_GetIP
-+#undef _Unwind_GetLanguageSpecificData
-+#undef _Unwind_GetRegionStart
-+#undef _Unwind_RaiseException
-+#undef _Unwind_Resume
-+#undef _Unwind_Resume_or_Rethrow
-+#undef _Unwind_SetGR
-+#undef _Unwind_SetIP
-+symverglobal (_Unwind_Backtrace, GCC_3.3);
-+symverglobal (_Unwind_DeleteException, GCC_3.0);
-+symverglobal (_Unwind_FindEnclosingFunction, GCC_3.3);
-+symverglobal (_Unwind_ForcedUnwind, GCC_3.0);
-+symverglobal (_Unwind_GetBSP, GCC_3.3.2);
-+symverglobal (_Unwind_GetCFA, GCC_3.3);
-+symverglobal (_Unwind_GetGR, GCC_3.0);
-+symverglobal (_Unwind_GetIP, GCC_3.0);
-+symverglobal (_Unwind_GetLanguageSpecificData, GCC_3.0);
-+symverglobal (_Unwind_GetRegionStart, GCC_3.0);
-+symverglobal (_Unwind_RaiseException, GCC_3.0);
-+symverglobal (_Unwind_Resume, GCC_3.0);
-+symverglobal (_Unwind_Resume_or_Rethrow, GCC_3.3);
-+symverglobal (_Unwind_SetGR, GCC_3.0);
-+symverglobal (_Unwind_SetIP, GCC_3.0);
-+#endif
-+
- #endif
---- gcc/config/ia64/mkmap-symver-multi.awk.jj 2004-02-18 10:27:36.000000000 -0500
-+++ gcc/config/ia64/mkmap-symver-multi.awk 2004-11-15 09:46:50.000000000 -0500
-@@ -0,0 +1,133 @@
-+# Generate an ELF symbol version map a-la Solaris and GNU ld.
-+# Contributed by Richard Henderson <rth@cygnus.com>
-+#
-+# This file is part of GCC.
-+#
-+# GCC is free software; you can redistribute it and/or modify it under
-+# the terms of the GNU General Public License as published by the Free
-+# Software Foundation; either version 2, or (at your option) any later
-+# version.
-+#
-+# GCC is distributed in the hope that it will be useful, but WITHOUT
-+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
-+# License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with GCC; see the file COPYING. If not, write to the Free
-+# Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-+# 02110-1301, USA.
-+
-+BEGIN {
-+ state = "nm";
-+ sawsymbol = 0;
-+}
-+
-+# Remove comment and blank lines.
-+/^ *#/ || /^ *$/ {
-+ next;
-+}
-+
-+# We begin with nm input. Collect the set of symbols that are present
-+# so that we can not emit them into the final version script -- Solaris
-+# complains at us if we do.
-+
-+state == "nm" && /^%%/ {
-+ state = "ver";
-+ next;
-+}
-+
-+state == "nm" && ($1 == "U" || $2 == "U") {
-+ next;
-+}
-+
-+state == "nm" && NF == 3 {
-+ if ($3 ~ /^[^@]*@GCC_[0-9.]*$/) {
-+ def[$3] = 1
-+ tl=$3
-+ sub(/^.*@/,"",tl)
-+ ver[$3] = tl
-+ } else {
-+ sub(/@@?GCC_[0-9.]*$/,"",$3)
-+ def[$3] = 1;
-+ }
-+ sawsymbol = 1;
-+ next;
-+}
-+
-+state == "nm" {
-+ next;
-+}
-+
-+# Now we process a simplified variant of the Solaris symbol version
-+# script. We have one symbol per line, no semicolons, simple markers
-+# for beginning and ending each section, and %inherit markers for
-+# describing version inheritence. A symbol may appear in more than
-+# one symbol version, and the last seen takes effect.
-+
-+NF == 3 && $1 == "%inherit" {
-+ inherit[$2] = $3;
-+ next;
-+}
-+
-+NF == 2 && $2 == "{" {
-+ libs[$1] = 1;
-+ thislib = $1;
-+ next;
-+}
-+
-+$1 == "}" {
-+ thislib = "";
-+ next;
-+}
-+
-+{
-+ ver[$1] = thislib;
-+ next;
-+}
-+
-+END {
-+ if (!sawsymbol)
-+ {
-+ print "No symbols seen -- broken or mis-installed nm?" | "cat 1>&2";
-+ exit 1;
-+ }
-+ for (l in libs)
-+ output(l);
-+}
-+
-+function output(lib) {
-+ if (done[lib])
-+ return;
-+ done[lib] = 1;
-+ if (inherit[lib])
-+ output(inherit[lib]);
-+
-+ empty=1
-+ for (sym in ver)
-+ if ((ver[sym] == lib) && (sym in def))
-+ {
-+ if (empty)
-+ {
-+ printf("%s {\n", lib);
-+ printf(" global:\n");
-+ empty = 0;
-+ }
-+ symp = sym;
-+ sub(/@GCC_[0-9.]*$/,"",symp);
-+ printf("\t%s;\n", symp);
-+ if (dotsyms)
-+ printf("\t.%s;\n", symp);
-+ }
-+
-+ if (empty)
-+ {
-+ for (l in libs)
-+ if (inherit[l] == lib)
-+ inherit[l] = inherit[lib];
-+ }
-+ else if (inherit[lib])
-+ printf("} %s;\n", inherit[lib]);
-+ else
-+ printf ("\n local:\n\t*;\n};\n");
-+}
---- gcc/config/ia64/libgcc-ia64-no-libunwind.ver.jj 2004-02-18 10:27:36.000000000 -0500
-+++ gcc/config/ia64/libgcc-ia64-no-libunwind.ver 2004-11-15 09:19:56.000000000 -0500
-@@ -0,0 +1,17 @@
-+GCC_3.4.2 {
-+ _Unwind_GetGR
-+ _Unwind_RaiseException
-+ _Unwind_GetRegionStart
-+ _Unwind_SetIP
-+ _Unwind_GetIP
-+ _Unwind_GetLanguageSpecificData
-+ _Unwind_Resume
-+ _Unwind_DeleteException
-+ _Unwind_SetGR
-+ _Unwind_ForcedUnwind
-+ _Unwind_Backtrace
-+ _Unwind_FindEnclosingFunction
-+ _Unwind_GetCFA
-+ _Unwind_Resume_or_Rethrow
-+ _Unwind_GetBSP
-+}
diff --git a/gcc44-java-nomulti.patch b/gcc44-java-nomulti.patch
deleted file mode 100644
index 17334aa..0000000
--- a/gcc44-java-nomulti.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- libjava/configure.ac.jj 2007-12-07 17:55:50.000000000 +0100
-+++ libjava/configure.ac 2007-12-07 18:36:56.000000000 +0100
-@@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode,
- [allow rebuilding of .class and .h files]))
- AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
-
-+AC_ARG_ENABLE(libjava-multilib,
-+ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
-+if test "$enable_libjava_multilib" = no; then
-+ multilib=no
-+ ac_configure_args="$ac_configure_args --disable-multilib"
-+fi
-+
- # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
- GCC_NO_EXECUTABLES
-
---- libjava/configure.jj 2007-12-07 17:55:50.000000000 +0100
-+++ libjava/configure 2007-12-07 18:39:58.000000000 +0100
-@@ -1021,6 +1021,8 @@ Optional Features:
- default=yes
- --enable-java-maintainer-mode
- allow rebuilding of .class and .h files
-+ --enable-libjava-multilib
-+ build libjava as multilib
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-maintainer-mode enable make rules and dependencies not useful
-@@ -1973,6 +1975,16 @@ else
- fi
-
-
-+# Check whether --enable-libjava-multilib was given.
-+if test "${enable_libjava_multilib+set}" = set; then
-+ enableval=$enable_libjava_multilib;
-+fi
-+
-+if test "$enable_libjava_multilib" = no; then
-+ multilib=no
-+ ac_configure_args="$ac_configure_args --disable-multilib"
-+fi
-+
- # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
-
-
diff --git a/gcc44-libgomp-omp_h-multilib.patch b/gcc44-libgomp-omp_h-multilib.patch
deleted file mode 100644
index d0e98d1..0000000
--- a/gcc44-libgomp-omp_h-multilib.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-2008-06-09 Jakub Jelinek <jakub@redhat.com>
-
- * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs.
-
---- libgomp/omp.h.in.jj 2008-06-09 13:34:05.000000000 +0200
-+++ libgomp/omp.h.in 2008-06-09 13:34:48.000000000 +0200
-@@ -42,8 +42,8 @@ typedef struct
-
- typedef struct
- {
-- unsigned char _x[@OMP_NEST_LOCK_SIZE@]
-- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
-+ unsigned char _x[8 + sizeof (void *)]
-+ __attribute__((__aligned__(sizeof (void *))));
- } omp_nest_lock_t;
- #endif
-
diff --git a/gcc44-libstdc++-docs.patch b/gcc44-libstdc++-docs.patch
deleted file mode 100644
index 45caafe..0000000
--- a/gcc44-libstdc++-docs.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- libstdc++-v3/doc/html/index.html 2009-01-14 12:06:37.000000000 +0100
-+++ libstdc++-v3/doc/html/index.html 2009-05-06 09:17:30.000000000 +0200
-@@ -12,7 +12,8 @@
- <div>
- <h1>The GNU C++ Library Documentation</h1>
-
--<p>Copyright 2008 FSF</p>
-+<p>Release 4.4.0</p>
-+<p>Copyright 2008, 2009 FSF</p>
-
- <p>
- Permission is granted to copy, distribute and/or modify this
---- libstdc++-v3/doc/html/api.html 2009-04-20 21:21:15.000000000 +0200
-+++ libstdc++-v3/doc/html/api.html 2009-05-06 09:17:24.000000000 +0200
-@@ -17,27 +17,12 @@ useful for examining the signatures of p
- the library classes, finding out what is in a particular include
- file, looking at inheritance diagrams, etc.
- </p><p>
--The source-level documentation for the most recent releases can be
--viewed online:
--</p><div class="itemizedlist"><ul type="disc"><li><p>
-- <a class="ulink" href="libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release
-+The source-level documentation can be viewed here:
-+</p>
-+<div class="itemizedlist"><ul type="disc">
-+ <li><p>
-+ <a class="ulink" href="api/index.html" target="_top">for the 4.4 release
- </a>
-- </p></li><li><p>
-- <a class="ulink" href="libstdc++-html-USERS-4.1/index.html" target="_top">for the 4.1 release
-- </a>
-- </p></li><li><p>
-- <a class="ulink" href="libstdc++-html-USERS-4.2/index.html" target="_top">for the 4.2 release
-- </a>
-- </p></li><li><p>
-- <a class="ulink" href="libstdc++-html-USERS-4.3/index.html" target="_top">for the 4.3 release
-- </a>
-- </p></li><li><p>
-- <a class="ulink" href="libstdc++-html-USERS-4.4/index.html" target="_top">for the 4.4 release
-- </a>
-- </p></li><li><p>
-- <a class="ulink" href="latest-doxygen/index.html" target="_top">"the latest collection"
-- </a>
-- (For the main development tree; see the date on the first page.)
- </p></li></ul></div><p>
- This generated HTML collection, as above, is also available for download in the libstdc++ snapshots directory at
- <code class="literal"><URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/></code>.
diff --git a/gcc44-libtool-no-rpath.patch b/gcc44-libtool-no-rpath.patch
deleted file mode 100644
index 466c661..0000000
--- a/gcc44-libtool-no-rpath.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-libtool sucks.
---- ltmain.sh.jj 2007-12-07 14:53:21.000000000 +0100
-+++ ltmain.sh 2008-09-05 21:51:48.000000000 +0200
-@@ -5394,6 +5394,7 @@ EOF
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
-+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
-@@ -6071,6 +6072,7 @@ EOF
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
-+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
-@@ -6120,6 +6122,7 @@ EOF
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
-+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
diff --git a/gcc44-no-add-needed.patch b/gcc44-no-add-needed.patch
deleted file mode 100644
index 4570c0c..0000000
--- a/gcc44-no-add-needed.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-2010-02-08 Roland McGrath <roland@redhat.com>
-
- * config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the
- linker.
- * config/linux.h (LINK_EH_SPEC): Likewise.
- * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
- * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
-
---- gcc/config/alpha/elf.h.~1~
-+++ gcc/config/alpha/elf.h
-@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
- I imagine that other systems will catch up. In the meantime, it
- doesn't harm to make sure that the data exists to be used later. */
- #if defined(HAVE_LD_EH_FRAME_HDR)
--#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
-+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
- #endif
-
- /* A C statement (sans semicolon) to output to the stdio stream STREAM
---- gcc/config/ia64/linux.h.~1~
-+++ gcc/config/ia64/linux.h
-@@ -58,7 +58,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 "%{!r:--build-id} "
-+#define LINK_EH_SPEC "--no-add-needed %{!r:--build-id} "
-
- #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
-
---- gcc/config/linux.h.~1~
-+++ gcc/config/linux.h
-@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI
- } while (0)
-
- #if defined(HAVE_LD_EH_FRAME_HDR)
--#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
-+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
- #endif
-
- /* Define this so we can compile MS code for use with WINE. */
---- gcc/config/rs6000/sysv4.h.~1~
-+++ gcc/config/rs6000/sysv4.h
-@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
-
- #if defined(HAVE_LD_EH_FRAME_HDR)
--# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
-+# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
- #endif
-
- #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
diff --git a/gcc44-ppc32-retaddr.patch b/gcc44-ppc32-retaddr.patch
deleted file mode 100644
index e9ae1bc..0000000
--- a/gcc44-ppc32-retaddr.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-2005-11-28 Jakub Jelinek <jakub@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_return_addr): If COUNT == 0,
- read word RETURN_ADDRESS_OFFSET bytes above arg_pointer_rtx
- instead of doing an extran indirection from frame_pointer_rtx.
-
- * gcc.dg/20051128-1.c: New test.
-
---- gcc/config/rs6000/rs6000.c.jj 2005-11-26 14:38:01.000000000 +0100
-+++ gcc/config/rs6000/rs6000.c 2005-11-28 20:32:18.000000000 +0100
-@@ -13166,17 +13166,22 @@ rs6000_return_addr (int count, rtx frame
- don't try to be too clever here. */
- if (count != 0 || (DEFAULT_ABI != ABI_AIX && flag_pic))
- {
-+ rtx x;
- cfun->machine->ra_needs_full_frame = 1;
-
-- return
-- gen_rtx_MEM
-- (Pmode,
-- memory_address
-- (Pmode,
-- plus_constant (copy_to_reg
-- (gen_rtx_MEM (Pmode,
-- memory_address (Pmode, frame))),
-- RETURN_ADDRESS_OFFSET)));
-+ if (count == 0)
-+ {
-+ gcc_assert (frame == frame_pointer_rtx);
-+ x = arg_pointer_rtx;
-+ }
-+ else
-+ {
-+ x = memory_address (Pmode, frame);
-+ x = copy_to_reg (gen_rtx_MEM (Pmode, x));
-+ }
-+
-+ x = plus_constant (x, RETURN_ADDRESS_OFFSET);
-+ return gen_rtx_MEM (Pmode, memory_address (Pmode, x));
- }
-
- cfun->machine->ra_need_lr = 1;
---- gcc/testsuite/gcc.dg/20051128-1.c.jj 2005-10-10 11:21:41.096999000 +0200
-+++ gcc/testsuite/gcc.dg/20051128-1.c 2005-11-28 12:30:57.000000000 +0100
-@@ -0,0 +1,41 @@
-+/* { dg-do run } */
-+/* { dg-options "-O2 -fpic" } */
-+
-+extern void exit (int);
-+extern void abort (void);
-+
-+int b;
-+
-+struct A
-+{
-+ void *pad[147];
-+ void *ra, *h;
-+ long o;
-+};
-+
-+void
-+__attribute__((noinline))
-+foo (struct A *a, void *x)
-+{
-+ __builtin_memset (a, 0, sizeof (a));
-+ if (!b)
-+ exit (0);
-+}
-+
-+void
-+__attribute__((noinline))
-+bar (void)
-+{
-+ struct A a;
-+
-+ __builtin_unwind_init ();
-+ foo (&a, __builtin_return_address (0));
-+}
-+
-+int
-+main (void)
-+{
-+ bar ();
-+ abort ();
-+ return 0;
-+}
diff --git a/gcc44-ppc64-aixdesc.patch b/gcc44-ppc64-aixdesc.patch
deleted file mode 100644
index b9f4a8b..0000000
--- a/gcc44-ppc64-aixdesc.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-2009-09-16 Jakub Jelinek <jakub@redhat.com>
-
- * config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Disable
- out of line gpr/fpr saving for -m64 -Os -mcall-aixdesc.
-
---- gcc/config/rs6000/sysv4.h.jj 2009-09-16 14:46:19.000000000 +0200
-+++ gcc/config/rs6000/sysv4.h 2009-09-16 14:46:19.000000000 +0200
-@@ -273,12 +273,14 @@ do { \
- /* Define cutoff for using external functions to save floating point.
- When optimizing for size, use external functions when profitable. */
- #define FP_SAVE_INLINE(FIRST_REG) (optimize_size \
-+ && (!TARGET_64BIT || !DOT_SYMBOLS) \
- ? ((FIRST_REG) == 62 \
- || (FIRST_REG) == 63) \
- : (FIRST_REG) < 64)
- /* And similarly for general purpose registers. */
--#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32 \
-- && !optimize_size)
-+#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32 \
-+ && (!optimize_size \
-+ || (TARGET_64BIT && DOT_SYMBOLS)))
-
- /* Put jump tables in read-only memory, rather than in .text. */
- #define JUMP_TABLES_IN_TEXT_SECTION 0
diff --git a/gcc44-pr33763.patch b/gcc44-pr33763.patch
deleted file mode 100644
index 86c8ac7..0000000
--- a/gcc44-pr33763.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-2007-11-06 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/33763
- * gcc.dg/pr33763.c: New test.
- * g++.dg/opt/inline13.C: New test.
-
-2007-11-06 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/33763
- * tree-inline.c (expand_call_inline): Silently ignore always_inline
- attribute for redefined extern inline functions.
-
---- 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
- 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. */
-+ && !cg_edge->callee->local.redefined_extern_inline
- /* Avoid warnings during early inline pass. */
- && cgraph_global_info_ready)
- {
---- 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 @@
-+/* PR tree-optimization/33763 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+typedef struct
-+{
-+ void *a;
-+ void *b;
-+} T;
-+extern void *foo (const char *, const char *);
-+extern void *bar (void *, const char *, T);
-+extern int baz (const char *, int);
-+
-+extern inline __attribute__ ((always_inline, gnu_inline)) int
-+baz (const char *x, int y)
-+{
-+ return 2;
-+}
-+
-+int
-+baz (const char *x, int y)
-+{
-+ return 1;
-+}
-+
-+int xa, xb;
-+
-+static void *
-+inl (const char *x, const char *y)
-+{
-+ T t = { &xa, &xb };
-+ int *f = (int *) __builtin_malloc (sizeof (int));
-+ const char *z;
-+ int o = 0;
-+ void *r = 0;
-+
-+ for (z = y; *z; z++)
-+ {
-+ if (*z == 'r')
-+ o |= 1;
-+ if (*z == 'w')
-+ o |= 2;
-+ }
-+ if (o == 1)
-+ *f = baz (x, 0);
-+ if (o == 2)
-+ *f = baz (x, 1);
-+ if (o == 3)
-+ *f = baz (x, 2);
-+
-+ if (o && *f > 0)
-+ r = bar (f, "w", t);
-+ return r;
-+}
-+
-+void *
-+foo (const char *x, const char *y)
-+{
-+ return inl (x, y);
-+}
---- gcc/testsuite/g++.dg/opt/inline13.C.jj 2007-11-06 16:20:20.000000000 +0100
-+++ gcc/testsuite/g++.dg/opt/inline13.C 2007-11-06 16:21:30.000000000 +0100
-@@ -0,0 +1,60 @@
-+// PR tree-optimization/33763
-+// { dg-do compile }
-+// { dg-options "-O2" }
-+
-+typedef struct
-+{
-+ void *a;
-+ void *b;
-+} T;
-+extern void *foo (const char *, const char *);
-+extern void *bar (void *, const char *, T);
-+extern int baz (const char *, int);
-+
-+extern inline __attribute__ ((always_inline, gnu_inline)) int
-+baz (const char *x, int y)
-+{
-+ return 2;
-+}
-+
-+int
-+baz (const char *x, int y)
-+{
-+ return 1;
-+}
-+
-+int xa, xb;
-+
-+static void *
-+inl (const char *x, const char *y)
-+{
-+ T t = { &xa, &xb };
-+ int *f = (int *) __builtin_malloc (sizeof (int));
-+ const char *z;
-+ int o = 0;
-+ void *r = 0;
-+
-+ for (z = y; *z; z++)
-+ {
-+ if (*z == 'r')
-+ o |= 1;
-+ if (*z == 'w')
-+ o |= 2;
-+ }
-+ if (o == 1)
-+ *f = baz (x, 0);
-+ if (o == 2)
-+ *f = baz (x, 1);
-+ if (o == 3)
-+ *f = baz (x, 2);
-+
-+ if (o && *f > 0)
-+ r = bar (f, "w", t);
-+ return r;
-+}
-+
-+void *
-+foo (const char *x, const char *y)
-+{
-+ return inl (x, y);
-+}
diff --git a/gcc44-pr38757.patch b/gcc44-pr38757.patch
deleted file mode 100644
index 805996f..0000000
--- a/gcc44-pr38757.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-2009-03-18 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/38757
- * langhooks.h (struct lang_hooks): Add source_language langhook.
- * langhooks-def.h (LANG_HOOKS_SOURCE_LANGUAGE): Define to NULL.
- (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_SOURCE_LANGUAGE.
- * c-lang.c (c_source_language): New function.
- (LANG_HOOKS_SOURCE_LANGUAGE): Define.
- * dwarf2out.c (add_prototyped_attribute): Add DW_AT_prototype
- also for DW_LANG_{C,C99,ObjC}.
- (gen_compile_unit_die): Use lang_hooks.source_language () to
- determine if DW_LANG_C99 or DW_LANG_C89 should be returned.
-
---- gcc/langhooks.h.jj 2009-03-02 09:45:47.000000000 +0100
-+++ gcc/langhooks.h 2009-03-18 12:53:24.000000000 +0100
-@@ -1,5 +1,5 @@
- /* The lang_hooks data structure.
-- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -414,6 +414,10 @@ struct lang_hooks
- if in the process TREE_CONSTANT or TREE_SIDE_EFFECTS need updating. */
- tree (*expr_to_decl) (tree expr, bool *tc, bool *se);
-
-+ /* Return year of the source language standard version if the FE supports
-+ multiple versions of the standard. */
-+ int (*source_language) (void);
-+
- /* Whenever you add entries here, make sure you adjust langhooks-def.h
- and langhooks.c accordingly. */
- };
---- gcc/langhooks-def.h.jj 2009-03-02 09:45:47.000000000 +0100
-+++ gcc/langhooks-def.h 2009-03-18 12:53:45.000000000 +0100
-@@ -1,5 +1,5 @@
- /* Default macros to initialize the lang_hooks data structure.
-- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
- Contributed by Alexandre Oliva <aoliva@redhat.com>
-
-@@ -113,6 +113,7 @@ extern void lhd_omp_firstprivatize_type_
- #define LANG_HOOKS_EXPR_TO_DECL lhd_expr_to_decl
- #define LANG_HOOKS_TO_TARGET_CHARSET lhd_to_target_charset
- #define LANG_HOOKS_INIT_TS lhd_do_nothing
-+#define LANG_HOOKS_SOURCE_LANGUAGE NULL
-
- /* Attribute hooks. */
- #define LANG_HOOKS_ATTRIBUTE_TABLE NULL
-@@ -270,6 +271,7 @@ extern tree lhd_make_node (enum tree_cod
- LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE, \
- LANG_HOOKS_INIT_TS, \
- LANG_HOOKS_EXPR_TO_DECL, \
-+ LANG_HOOKS_SOURCE_LANGUAGE, \
- }
-
- #endif /* GCC_LANG_HOOKS_DEF_H */
---- gcc/c-lang.c.jj 2009-02-20 15:06:14.000000000 +0100
-+++ gcc/c-lang.c 2009-03-18 13:33:41.000000000 +0100
-@@ -1,6 +1,6 @@
- /* Language-specific hook definitions for C front end.
- Copyright (C) 1991, 1995, 1997, 1998,
-- 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008
-+ 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008, 2009
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -37,6 +37,12 @@ along with GCC; see the file COPYING3.
-
- enum c_language_kind c_language = clk_c;
-
-+static int
-+c_source_language (void)
-+{
-+ return flag_isoc99 ? 1999 : 1989;
-+}
-+
- /* Lang hooks common to C and ObjC are declared in c-objc-common.h;
- consequently, there should be very few hooks below. */
-
-@@ -44,6 +50,8 @@ enum c_language_kind c_language = clk_c;
- #define LANG_HOOKS_NAME "GNU C"
- #undef LANG_HOOKS_INIT
- #define LANG_HOOKS_INIT c_objc_common_init
-+#undef LANG_HOOKS_SOURCE_LANGUAGE
-+#define LANG_HOOKS_SOURCE_LANGUAGE c_source_language
-
- /* Each front end provides its own lang hook initializer. */
- const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
---- gcc/dwarf2out.c.jj 2009-03-17 13:06:29.000000000 +0100
-+++ gcc/dwarf2out.c 2009-03-18 12:55:36.000000000 +0100
-@@ -14286,9 +14286,18 @@ add_bit_size_attribute (dw_die_ref die,
- static inline void
- add_prototyped_attribute (dw_die_ref die, tree func_type)
- {
-- if (get_AT_unsigned (comp_unit_die, DW_AT_language) == DW_LANG_C89
-- && TYPE_ARG_TYPES (func_type) != NULL)
-- add_AT_flag (die, DW_AT_prototyped, 1);
-+ switch (get_AT_unsigned (comp_unit_die, DW_AT_language))
-+ {
-+ case DW_LANG_C:
-+ case DW_LANG_C89:
-+ case DW_LANG_C99:
-+ case DW_LANG_ObjC:
-+ if (TYPE_ARG_TYPES (func_type) != NULL)
-+ add_AT_flag (die, DW_AT_prototyped, 1);
-+ break;
-+ default:
-+ break;
-+ }
- }
-
- /* Add an 'abstract_origin' attribute below a given DIE. The DIE is found
-@@ -16290,6 +16299,10 @@ gen_compile_unit_die (const char *filena
- language = DW_LANG_ObjC;
- else if (strcmp (language_string, "GNU Objective-C++") == 0)
- language = DW_LANG_ObjC_plus_plus;
-+ else if (strcmp (language_string, "GNU C") == 0
-+ && lang_hooks.source_language
-+ && lang_hooks.source_language () >= 1999)
-+ language = DW_LANG_C99;
- }
-
- add_AT_unsigned (die, DW_AT_language, language);
diff --git a/gcc44-pr44542.patch b/gcc44-pr44542.patch
deleted file mode 100644
index 0926e40..0000000
--- a/gcc44-pr44542.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-2010-06-17 Jakub Jelinek <jakub@redhat.com>
-
- PR target/44542
- * cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
- of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
- instead of MAX_SUPPORTED_STACK_ALIGNMENT.
- (expand_one_var): Don't consider DECL_ALIGN for variables for
- which expand_one_stack_var_at has been already called.
-
---- gcc/cfgexpand.c.jj 2010-06-17 17:01:11.964198458 +0200
-+++ gcc/cfgexpand.c 2010-06-17 18:25:18.940335757 +0200
-@@ -839,7 +839,7 @@ static void
- expand_one_stack_var_at (tree decl, HOST_WIDE_INT offset)
- {
- /* Alignment is unsigned. */
-- unsigned HOST_WIDE_INT align;
-+ unsigned HOST_WIDE_INT align, max_align;
- rtx x;
-
- /* If this fails, we've overflowed the stack frame. Error nicely? */
-@@ -852,10 +852,10 @@ expand_one_stack_var_at (tree decl, HOST
- offset -= frame_phase;
- align = offset & -offset;
- align *= BITS_PER_UNIT;
-- if (align == 0)
-- align = STACK_BOUNDARY;
-- else if (align > MAX_SUPPORTED_STACK_ALIGNMENT)
-- align = MAX_SUPPORTED_STACK_ALIGNMENT;
-+ max_align = MAX (crtl->max_used_stack_slot_alignment,
-+ PREFERRED_STACK_BOUNDARY);
-+ if (align == 0 || align > max_align)
-+ align = max_align;
- DECL_ALIGN (decl) = align;
- DECL_USER_ALIGN (decl) = 0;
-
-@@ -1054,6 +1054,13 @@ expand_one_var (tree var, bool toplevel,
- align = MINIMUM_ALIGNMENT (TREE_TYPE (var),
- TYPE_MODE (TREE_TYPE (var)),
- TYPE_ALIGN (TREE_TYPE (var)));
-+ else if (DECL_HAS_VALUE_EXPR_P (var)
-+ || (DECL_RTL_SET_P (var) && MEM_P (DECL_RTL (var))))
-+ /* Don't consider debug only variables with DECL_HAS_VALUE_EXPR_P set
-+ or variables which were assigned a stack slot already by
-+ expand_one_stack_var_at - in the latter case DECL_ALIGN has been
-+ changed from the offset chosen to it. */
-+ align = crtl->stack_alignment_estimated;
- else
- align = MINIMUM_ALIGNMENT (var, DECL_MODE (var), DECL_ALIGN (var));
-
diff --git a/gcc44-rh330771.patch b/gcc44-rh330771.patch
deleted file mode 100644
index f7c365d..0000000
--- a/gcc44-rh330771.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-2007-10-16 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (libgcj_tools_la_LIBADD): Add.
- * Makefile.in: Regenerated.
-
---- libjava/Makefile.am.jj 2009-05-06 08:14:50.000000000 +0200
-+++ libjava/Makefile.am 2009-05-06 10:26:43.000000000 +0200
-@@ -314,6 +314,8 @@ libgcj_tools_la_SOURCES = classpath/tool
- libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch \
- -fno-bootstrap-classes -fno-indirect-classes \
- -fsource-filename=$(here)/classpath/tools/all-classes.lst
-+## See jv_convert_LDADD.
-+libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la
- libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
- -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
- $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
---- libjava/Makefile.in.jj 2009-05-06 08:14:49.000000000 +0200
-+++ libjava/Makefile.in 2009-05-06 10:27:18.000000000 +0200
-@@ -160,7 +160,6 @@ am__objects_1 = gnu/gcj/xlib/lib_gnu_awt
- am_lib_gnu_awt_xlib_la_OBJECTS = $(am__objects_1)
- lib_gnu_awt_xlib_la_OBJECTS = $(am_lib_gnu_awt_xlib_la_OBJECTS)
- @XLIB_AWT_TRUE@am_lib_gnu_awt_xlib_la_rpath = -rpath $(toolexeclibdir)
--libgcj_tools_la_LIBADD =
- am_libgcj_tools_la_OBJECTS = classpath/tools/libgcj_tools_la-tools.lo
- libgcj_tools_la_OBJECTS = $(am_libgcj_tools_la_OBJECTS)
- @INTERPRETER_TRUE@am__DEPENDENCIES_1 = gnu/classpath/jdwp.lo \
-@@ -1041,6 +1040,7 @@ libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS
- -fno-bootstrap-classes -fno-indirect-classes \
- -fsource-filename=$(here)/classpath/tools/all-classes.lst
-
-+libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la
- libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
- -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
- $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
diff --git a/gcc44-sparc-config-detection.patch b/gcc44-sparc-config-detection.patch
deleted file mode 100644
index 9c6b57e..0000000
--- a/gcc44-sparc-config-detection.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
-+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
-@@ -2175,7 +2175,7 @@ sparc-*-elf*)
- tmake_file="sparc/t-elf sparc/t-crtfm"
- extra_parts="crti.o crtn.o crtbegin.o crtend.o"
- ;;
--sparc-*-linux*) # SPARC's running GNU/Linux, libc6
-+sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h"
- extra_options="${extra_options} sparc/long-double-switch.opt"
- tmake_file="${tmake_file} sparc/t-linux"
-@@ -2287,7 +2287,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
- *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
- esac
- ;;
--sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
-+sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux
- tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h sparc/linux64.h"
- extra_options="${extra_options} sparc/long-double-switch.opt"
- tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
---- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
-+++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500
-@@ -572,7 +572,7 @@ sparc64-*-openbsd*)
- ;;
- sparc-*-elf*)
- ;;
--sparc-*-linux*) # SPARC's running GNU/Linux, libc6
-+sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6
- extra_parts="$extra_parts crtfastmath.o"
- tmake_file="${tmake_file} sparc/t-crtfm"
- ;;
-@@ -590,7 +590,7 @@ sparc-wrs-vxworks)
- ;;
- sparc64-*-freebsd*|ultrasparc-*-freebsd*)
- ;;
--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} sparc/t-crtfm"
- ;;
diff --git a/gcc44-unwind-debug-hook.patch b/gcc44-unwind-debug-hook.patch
deleted file mode 100644
index 9b7c59e..0000000
--- a/gcc44-unwind-debug-hook.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-2010-04-27 Jakub Jelinek <jakub@redhat.com>
-
- * unwind-dw2.c (_Unwind_DebugHook): Add used attribute.
-
-2009-05-27 Tom Tromey <tromey@redhat.com>
-
- * unwind-dw2.c (_Unwind_DebugHook): New function.
- (uw_install_context): Call _Unwind_DebugHook.
-
---- gcc/unwind-dw2.c (revision 147933)
-+++ gcc/unwind-dw2.c (revision 147934)
-@@ -1473,18 +1473,32 @@ uw_init_context_1 (struct _Unwind_Contex
- context->ra = __builtin_extract_return_addr (outer_ra);
- }
-
-+static void _Unwind_DebugHook (void *, void *)
-+ __attribute__ ((__noinline__, __used__));
-+
-+/* This function is called during unwinding. It is intended as a hook
-+ for a debugger to intercept exceptions. CFA is the CFA of the
-+ target frame. HANDLER is the PC to which control will be
-+ transferred. */
-+static void
-+_Unwind_DebugHook (void *cfa __attribute__ ((__unused__)),
-+ void *handler __attribute__ ((__unused__)))
-+{
-+ asm ("");
-+}
-
- /* Install TARGET into CURRENT so that we can return to it. This is a
- macro because __builtin_eh_return must be invoked in the context of
- our caller. */
-
--#define uw_install_context(CURRENT, TARGET) \
-- do \
-- { \
-- long offset = uw_install_context_1 ((CURRENT), (TARGET)); \
-- void *handler = __builtin_frob_return_addr ((TARGET)->ra); \
-- __builtin_eh_return (offset, handler); \
-- } \
-+#define uw_install_context(CURRENT, TARGET) \
-+ do \
-+ { \
-+ long offset = uw_install_context_1 ((CURRENT), (TARGET)); \
-+ void *handler = __builtin_frob_return_addr ((TARGET)->ra); \
-+ _Unwind_DebugHook ((TARGET)->cfa, handler); \
-+ __builtin_eh_return (offset, handler); \
-+ } \
- while (0)
-
- static long
diff --git a/gcc45-build-id.patch b/gcc45-build-id.patch
new file mode 100644
index 0000000..f76f939
--- /dev/null
+++ b/gcc45-build-id.patch
@@ -0,0 +1,52 @@
+2007-07-22 Roland McGrath <roland@redhat.com>
+
+ * config/rs6000/sysv4.h (LINK_EH_SPEC): Add --build-id for
+ non-relocatable link.
+ * config/linux.h (LINK_EH_SPEC): Likewise.
+ * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
+
+--- gcc/config/rs6000/sysv4.h.~1~
++++ gcc/config/rs6000/sysv4.h
+@@ -906,7 +906,7 @@ extern int fixuplabelno;
+ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
+--- gcc/config/linux.h.~1~
++++ gcc/config/linux.h
+@@ -85,7 +85,7 @@ Boston, MA 02110-1301, USA. */
+ } while (0)
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ /* Define this so we can compile MS code for use with WINE. */
+--- gcc/config/alpha/elf.h.~1~
++++ gcc/config/alpha/elf.h
+@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
+ I imagine that other systems will catch up. In the meantime, it
+ doesn't harm to make sure that the data exists to be used later. */
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ /* A C statement (sans semicolon) to output to the stdio stream STREAM
+--- gcc/config/ia64/linux.h.~1~
++++ gcc/config/ia64/linux.h
+@@ -56,7 +56,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 "%{!r:--build-id} "
+
+ #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
+
diff --git a/gcc45-c++-builtin-redecl.patch b/gcc45-c++-builtin-redecl.patch
new file mode 100644
index 0000000..1f36f1f
--- /dev/null
+++ b/gcc45-c++-builtin-redecl.patch
@@ -0,0 +1,102 @@
+2007-10-02 Jakub Jelinek <jakub@redhat.com>
+
+ * decl.c (duplicate_decls): When redeclaring a builtin function,
+ keep the merged decl builtin whenever types match, even if new
+ decl defines a function.
+
+ * gcc.dg/builtins-65.c: New test.
+ * g++.dg/ext/builtin10.C: New test.
+
+--- 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
+ DECL_ARGUMENTS (olddecl) = DECL_ARGUMENTS (newdecl);
+ DECL_RESULT (olddecl) = DECL_RESULT (newdecl);
+ }
++ /* If redeclaring a builtin function, it stays built in. */
++ if (types_match && DECL_BUILT_IN (olddecl))
++ {
++ DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
++ DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
++ /* If we're keeping the built-in definition, keep the rtl,
++ regardless of declaration matches. */
++ COPY_DECL_RTL (olddecl, newdecl);
++ }
+ if (new_defines_function)
+ /* If defining a function declared with other language
+ linkage, use the previously declared language linkage. */
+ SET_DECL_LANGUAGE (newdecl, DECL_LANGUAGE (olddecl));
+ else if (types_match)
+ {
+- /* If redeclaring a builtin function, and not a definition,
+- it stays built in. */
+- if (DECL_BUILT_IN (olddecl))
+- {
+- DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
+- DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
+- /* If we're keeping the built-in definition, keep the rtl,
+- regardless of declaration matches. */
+- COPY_DECL_RTL (olddecl, newdecl);
+- }
+-
+ DECL_RESULT (newdecl) = DECL_RESULT (olddecl);
+ /* Don't clear out the arguments if we're just redeclaring a
+ function. */
+--- gcc/testsuite/gcc.dg/builtins-65.c.jj 2007-10-02 11:23:51.000000000 +0200
++++ gcc/testsuite/gcc.dg/builtins-65.c 2007-10-02 11:24:12.000000000 +0200
+@@ -0,0 +1,25 @@
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++
++typedef __SIZE_TYPE__ size_t;
++extern void __chk_fail (void);
++extern int snprintf (char *, size_t, const char *, ...);
++extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
++{
++ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
++ __chk_fail ();
++ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
++}
++extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
++
++char buf[10];
++
++int
++main (void)
++{
++ snprintf (buf, 10, "%d%d\n", 10, 10);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "mysnprintf" } } */
++/* { dg-final { scan-assembler-not "__chk_fail" } } */
+--- gcc/testsuite/g++.dg/ext/builtin10.C.jj 2007-10-02 11:19:45.000000000 +0200
++++ gcc/testsuite/g++.dg/ext/builtin10.C 2007-10-02 11:23:26.000000000 +0200
+@@ -0,0 +1,27 @@
++// { dg-do compile }
++// { dg-options "-O2" }
++
++typedef __SIZE_TYPE__ size_t;
++extern "C" {
++extern void __chk_fail (void);
++extern int snprintf (char *, size_t, const char *, ...);
++extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
++{
++ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
++ __chk_fail ();
++ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
++}
++extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
++}
++
++char buf[10];
++
++int
++main (void)
++{
++ snprintf (buf, 10, "%d%d\n", 10, 10);
++ return 0;
++}
++
++// { dg-final { scan-assembler "mysnprintf" } }
++// { dg-final { scan-assembler-not "__chk_fail" } }
diff --git a/gcc45-cloog-dl.patch b/gcc45-cloog-dl.patch
new file mode 100644
index 0000000..a3ea1ea
--- /dev/null
+++ b/gcc45-cloog-dl.patch
@@ -0,0 +1,350 @@
+2010-07-01 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (BACKENDLIBS): Link against -ldl instead of -lcloog -lppl.
+ (graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
+ (graphite-ppl.o): Depend on graphite.h.
+ * graphite.h: Include <dlfcn.h>. Reference libcloog and libppl symbols
+ through pointers in cloog_pointers__ variable.
+ * graphite.c (init_cloog_pointers): New function.
+ (graphite_transform_loops): Call init_cloog_pointers.
+ * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename stmt_for
+ argument to stmt_fora.
+ * graphite-ppl.c: Include graphite.h.
+
+--- gcc/graphite.c.jj 2010-06-30 09:48:30.000000000 +0200
++++ gcc/graphite.c 2010-07-01 16:57:48.248523237 +0200
+@@ -67,6 +67,35 @@ along with GCC; see the file COPYING3.
+ #include "graphite-clast-to-gimple.h"
+ #include "graphite-sese-to-poly.h"
+
++__typeof (cloog_pointers__) cloog_pointers__;
++
++static bool
++init_cloog_pointers (void)
++{
++ void *h;
++
++ if (cloog_pointers__.inited)
++ return cloog_pointers__.h != NULL;
++ h = dlopen ("libcloog.so.0", RTLD_LAZY);
++ cloog_pointers__.h = h;
++ if (h == NULL)
++ return false;
++#define DYNSYM(x) \
++ do \
++ { \
++ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
++ u.q = dlsym (h, #x); \
++ if (u.q == NULL) \
++ return false; \
++ cloog_pointers__.p_##x = u.p; \
++ } \
++ while (0)
++ DYNSYMS
++#undef DYNSYM
++ return true;
++}
++
++
+ /* Print global statistics to FILE. */
+
+ static void
+@@ -210,6 +239,12 @@ graphite_initialize (void)
+ return false;
+ }
+
++ if (!init_cloog_pointers ())
++ {
++ sorry ("Graphite loop optimizations cannot be used");
++ return false;
++ }
++
+ recompute_all_dominators ();
+ initialize_original_copy_tables ();
+ cloog_initialize ();
+--- gcc/graphite.h.jj 2010-06-30 09:48:30.000000000 +0200
++++ gcc/graphite.h 2010-07-01 17:29:37.225491850 +0200
+@@ -21,4 +21,224 @@ along with GCC; see the file COPYING3.
+ #ifndef GCC_GRAPHITE_H
+ #define GCC_GRAPHITE_H
+
++#include <dlfcn.h>
++#define DYNSYMS \
++ DYNSYM (cloog_block_alloc); \
++ DYNSYM (cloog_block_list_free); \
++ DYNSYM (cloog_block_list_malloc); \
++ DYNSYM (cloog_clast_create); \
++ DYNSYM (cloog_clast_free); \
++ DYNSYM (cloog_domain_free); \
++ DYNSYM (cloog_domain_matrix2domain); \
++ DYNSYM (cloog_initialize); \
++ DYNSYM (cloog_loop_malloc); \
++ DYNSYM (cloog_matrix_alloc); \
++ DYNSYM (cloog_matrix_copy); \
++ DYNSYM (cloog_matrix_free); \
++ DYNSYM (cloog_matrix_print); \
++ DYNSYM (cloog_names_malloc); \
++ DYNSYM (cloog_names_scalarize); \
++ DYNSYM (cloog_options_free); \
++ DYNSYM (cloog_options_malloc); \
++ DYNSYM (cloog_program_dump_cloog); \
++ DYNSYM (cloog_program_extract_scalars); \
++ DYNSYM (cloog_program_free); \
++ DYNSYM (cloog_program_generate); \
++ DYNSYM (cloog_program_malloc); \
++ DYNSYM (cloog_program_print); \
++ DYNSYM (cloog_program_scatter); \
++ DYNSYM (cloog_statement_alloc); \
++ DYNSYM (cloog_domain_union); \
++ DYNSYM (cloog_matrix_read); \
++ DYNSYM (cloog_new_pol); \
++ DYNSYM (cloog_vector_gcd); \
++ DYNSYM (ppl_finalize); \
++ DYNSYM (ppl_assign_Coefficient_from_mpz_t); \
++ DYNSYM (ppl_assign_Linear_Expression_from_Linear_Expression); \
++ DYNSYM (ppl_Coefficient_to_mpz_t); \
++ DYNSYM (ppl_Constraint_coefficient); \
++ DYNSYM (ppl_Constraint_inhomogeneous_term); \
++ DYNSYM (ppl_Constraint_space_dimension); \
++ DYNSYM (ppl_Constraint_System_begin); \
++ DYNSYM (ppl_Constraint_System_const_iterator_dereference); \
++ DYNSYM (ppl_Constraint_System_const_iterator_equal_test); \
++ DYNSYM (ppl_Constraint_System_const_iterator_increment); \
++ DYNSYM (ppl_Constraint_System_end); \
++ DYNSYM (ppl_Constraint_System_insert_Constraint); \
++ DYNSYM (ppl_Constraint_System_space_dimension); \
++ DYNSYM (ppl_Constraint_type); \
++ DYNSYM (ppl_delete_Coefficient); \
++ DYNSYM (ppl_delete_Constraint); \
++ DYNSYM (ppl_delete_Constraint_System_const_iterator); \
++ DYNSYM (ppl_delete_Linear_Expression); \
++ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron); \
++ DYNSYM (ppl_delete_Pointset_Powerset_C_Polyhedron_iterator); \
++ DYNSYM (ppl_delete_Polyhedron); \
++ DYNSYM (ppl_Linear_Expression_add_to_coefficient); \
++ DYNSYM (ppl_Linear_Expression_add_to_inhomogeneous); \
++ DYNSYM (ppl_Linear_Expression_coefficient); \
++ DYNSYM (ppl_Linear_Expression_inhomogeneous_term); \
++ DYNSYM (ppl_Linear_Expression_space_dimension); \
++ DYNSYM (ppl_new_Coefficient); \
++ DYNSYM (ppl_new_Coefficient_from_mpz_t); \
++ DYNSYM (ppl_new_Constraint); \
++ DYNSYM (ppl_new_Constraint_System); \
++ DYNSYM (ppl_new_Constraint_System_const_iterator); \
++ DYNSYM (ppl_new_C_Polyhedron_from_C_Polyhedron); \
++ DYNSYM (ppl_new_C_Polyhedron_from_space_dimension); \
++ DYNSYM (ppl_new_C_Polyhedron_recycle_Constraint_System); \
++ DYNSYM (ppl_new_Linear_Expression); \
++ DYNSYM (ppl_new_Linear_Expression_from_Constraint); \
++ DYNSYM (ppl_new_Linear_Expression_from_Linear_Expression); \
++ DYNSYM (ppl_new_Linear_Expression_with_dimension); \
++ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron); \
++ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron); \
++ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension); \
++ DYNSYM (ppl_new_Pointset_Powerset_C_Polyhedron_iterator); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_constraint); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_difference_assign); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_intersection_assign); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_is_empty); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_begin); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_end); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_iterator_increment); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_maximize); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_minimize); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_size); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_space_dimension); \
++ DYNSYM (ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign); \
++ DYNSYM (ppl_Polyhedron_add_constraint); \
++ DYNSYM (ppl_Polyhedron_add_constraints); \
++ DYNSYM (ppl_Polyhedron_add_space_dimensions_and_embed); \
++ DYNSYM (ppl_Polyhedron_get_constraints); \
++ DYNSYM (ppl_Polyhedron_map_space_dimensions); \
++ DYNSYM (ppl_Polyhedron_remove_space_dimensions); \
++ DYNSYM (ppl_Polyhedron_space_dimension); \
++ DYNSYM (ppl_subtract_Linear_Expression_from_Linear_Expression); \
++ DYNSYM (pprint); \
++ DYNSYM (stmt_block); \
++ DYNSYM (stmt_for); \
++ DYNSYM (stmt_guard); \
++ DYNSYM (stmt_root); \
++ DYNSYM (stmt_user);
++extern struct
++{
++ bool inited;
++ void *h;
++#define DYNSYM(x) __typeof (x) *p_##x
++ DYNSYMS
++#undef DYNSYM
++} cloog_pointers__;
++
++#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
++#define cloog_block_list_free (*cloog_pointers__.p_cloog_block_list_free)
++#define cloog_block_list_malloc (*cloog_pointers__.p_cloog_block_list_malloc)
++#define cloog_clast_create (*cloog_pointers__.p_cloog_clast_create)
++#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
++#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
++#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
++#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
++#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
++#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
++#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
++#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
++#define cloog_matrix_print (*cloog_pointers__.p_cloog_matrix_print)
++#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
++#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
++#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
++#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
++#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
++#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
++#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
++#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
++#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
++#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
++#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
++#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
++#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
++#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
++#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
++#define cloog_vector_gcd (*cloog_pointers__.p_cloog_vector_gcd)
++#define ppl_finalize (*cloog_pointers__.p_ppl_finalize)
++#define ppl_assign_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_assign_Coefficient_from_mpz_t)
++#define ppl_assign_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_assign_Linear_Expression_from_Linear_Expression)
++#define ppl_Coefficient_to_mpz_t (*cloog_pointers__.p_ppl_Coefficient_to_mpz_t)
++#define ppl_Constraint_coefficient (*cloog_pointers__.p_ppl_Constraint_coefficient)
++#define ppl_Constraint_inhomogeneous_term (*cloog_pointers__.p_ppl_Constraint_inhomogeneous_term)
++#define ppl_Constraint_space_dimension (*cloog_pointers__.p_ppl_Constraint_space_dimension)
++#define ppl_Constraint_System_begin (*cloog_pointers__.p_ppl_Constraint_System_begin)
++#define ppl_Constraint_System_const_iterator_dereference (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_dereference)
++#define ppl_Constraint_System_const_iterator_equal_test (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_equal_test)
++#define ppl_Constraint_System_const_iterator_increment (*cloog_pointers__.p_ppl_Constraint_System_const_iterator_increment)
++#define ppl_Constraint_System_end (*cloog_pointers__.p_ppl_Constraint_System_end)
++#define ppl_Constraint_System_insert_Constraint (*cloog_pointers__.p_ppl_Constraint_System_insert_Constraint)
++#define ppl_Constraint_System_space_dimension (*cloog_pointers__.p_ppl_Constraint_System_space_dimension)
++#define ppl_Constraint_type (*cloog_pointers__.p_ppl_Constraint_type)
++#define ppl_delete_Coefficient (*cloog_pointers__.p_ppl_delete_Coefficient)
++#define ppl_delete_Constraint (*cloog_pointers__.p_ppl_delete_Constraint)
++#define ppl_delete_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_delete_Constraint_System_const_iterator)
++#define ppl_delete_Linear_Expression (*cloog_pointers__.p_ppl_delete_Linear_Expression)
++#define ppl_delete_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron)
++#define ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_delete_Pointset_Powerset_C_Polyhedron_iterator)
++#define ppl_delete_Polyhedron (*cloog_pointers__.p_ppl_delete_Polyhedron)
++#define ppl_Linear_Expression_add_to_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_add_to_coefficient)
++#define ppl_Linear_Expression_add_to_inhomogeneous (*cloog_pointers__.p_ppl_Linear_Expression_add_to_inhomogeneous)
++#define ppl_Linear_Expression_coefficient (*cloog_pointers__.p_ppl_Linear_Expression_coefficient)
++#define ppl_Linear_Expression_inhomogeneous_term (*cloog_pointers__.p_ppl_Linear_Expression_inhomogeneous_term)
++#define ppl_Linear_Expression_space_dimension (*cloog_pointers__.p_ppl_Linear_Expression_space_dimension)
++#define ppl_new_Coefficient (*cloog_pointers__.p_ppl_new_Coefficient)
++#define ppl_new_Coefficient_from_mpz_t (*cloog_pointers__.p_ppl_new_Coefficient_from_mpz_t)
++#define ppl_new_Constraint (*cloog_pointers__.p_ppl_new_Constraint)
++#define ppl_new_Constraint_System (*cloog_pointers__.p_ppl_new_Constraint_System)
++#define ppl_new_Constraint_System_const_iterator (*cloog_pointers__.p_ppl_new_Constraint_System_const_iterator)
++#define ppl_new_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_C_Polyhedron)
++#define ppl_new_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_space_dimension)
++#define ppl_new_C_Polyhedron_recycle_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_recycle_Constraint_System)
++#define ppl_new_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression)
++#define ppl_new_Linear_Expression_from_Constraint (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Constraint)
++#define ppl_new_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_new_Linear_Expression_from_Linear_Expression)
++#define ppl_new_Linear_Expression_with_dimension (*cloog_pointers__.p_ppl_new_Linear_Expression_with_dimension)
++#define ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron)
++#define ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron)
++#define ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension)
++#define ppl_new_Pointset_Powerset_C_Polyhedron_iterator (*cloog_pointers__.p_ppl_new_Pointset_Powerset_C_Polyhedron_iterator)
++#define ppl_Pointset_Powerset_C_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_constraint)
++#define ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_add_space_dimensions_and_embed)
++#define ppl_Pointset_Powerset_C_Polyhedron_difference_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_difference_assign)
++#define ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_intersection_assign)
++#define ppl_Pointset_Powerset_C_Polyhedron_is_empty (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_is_empty)
++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_begin (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_begin)
++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_dereference)
++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_end (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_end)
++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_equal_test)
++#define ppl_Pointset_Powerset_C_Polyhedron_iterator_increment (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_iterator_increment)
++#define ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_map_space_dimensions)
++#define ppl_Pointset_Powerset_C_Polyhedron_maximize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_maximize)
++#define ppl_Pointset_Powerset_C_Polyhedron_minimize (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_minimize)
++#define ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_remove_space_dimensions)
++#define ppl_Pointset_Powerset_C_Polyhedron_size (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_size)
++#define ppl_Pointset_Powerset_C_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_space_dimension)
++#define ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (*cloog_pointers__.p_ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign)
++#define ppl_Polyhedron_add_constraint (*cloog_pointers__.p_ppl_Polyhedron_add_constraint)
++#define ppl_Polyhedron_add_constraints (*cloog_pointers__.p_ppl_Polyhedron_add_constraints)
++#define ppl_Polyhedron_add_space_dimensions_and_embed (*cloog_pointers__.p_ppl_Polyhedron_add_space_dimensions_and_embed)
++#define ppl_Polyhedron_get_constraints (*cloog_pointers__.p_ppl_Polyhedron_get_constraints)
++#define ppl_Polyhedron_map_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_map_space_dimensions)
++#define ppl_Polyhedron_remove_space_dimensions (*cloog_pointers__.p_ppl_Polyhedron_remove_space_dimensions)
++#define ppl_Polyhedron_space_dimension (*cloog_pointers__.p_ppl_Polyhedron_space_dimension)
++#define ppl_subtract_Linear_Expression_from_Linear_Expression (*cloog_pointers__.p_ppl_subtract_Linear_Expression_from_Linear_Expression)
++#define pprint (*cloog_pointers__.p_pprint)
++#define stmt_block (*cloog_pointers__.p_stmt_block)
++#define stmt_for (*cloog_pointers__.p_stmt_for)
++#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 cloog_finalize (*cloog_pointers__.p_ppl_finalize)
++
+ #endif /* GCC_GRAPHITE_H */
+--- gcc/Makefile.in.jj 2010-06-30 21:23:29.000000000 +0200
++++ gcc/Makefile.in 2010-07-01 17:33:11.016479963 +0200
+@@ -1011,7 +1011,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
+ # and the system's installed libraries.
+ LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
+ $(HOST_LIBS)
+-BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
++BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),-ldl) $(PLUGINLIBS) $(HOST_LIBS) \
+ $(ZLIB) $(LIBELFLIBS)
+ # Any system libraries needed just for GNAT.
+ SYSLIBS = @GNAT_LIBEXC@
+@@ -2607,7 +2607,7 @@ graphite-poly.o: graphite-poly.c $(CONFI
+ $(TREE_DATA_REF_H) tree-pass.h domwalk.h graphite.h graphite-dependences.h \
+ pointer-set.h value-prof.h graphite-ppl.h sese.h output.h graphite-poly.h
+ graphite-ppl.o: graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+- $(GGC_H) graphite-ppl.h
++ $(GGC_H) graphite-ppl.h graphite.h
+ graphite-scop-detection.o: graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
+ $(GGC_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TOPLEV_H) \
+ $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) $(CFGLOOP_H) $(GIMPLE_H) \
+@@ -3359,6 +3359,11 @@ $(out_object_file): $(out_file) $(CONFIG
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
+ $(out_file) $(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))
++
+ # Build auxiliary files that support ecoff format.
+ mips-tfile: mips-tfile.o version.o $(LIBDEPS)
+ $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
+--- gcc/graphite-ppl.c.jj 2010-06-30 09:48:30.000000000 +0200
++++ gcc/graphite-ppl.c 2010-07-01 17:08:14.161335642 +0200
+@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3.
+ #include "ppl_c.h"
+ #include "cloog/cloog.h"
+ #include "graphite-ppl.h"
++#include "graphite.h"
+
+ /* Translates row ROW of the CloogMatrix MATRIX to a PPL Constraint. */
+
+--- gcc/graphite-clast-to-gimple.c.jj 2010-06-30 09:48:30.000000000 +0200
++++ gcc/graphite-clast-to-gimple.c 2010-07-01 16:50:15.812485671 +0200
+@@ -613,11 +613,11 @@ gcc_type_for_cloog_iv (const char *cloog
+ STMT. */
+
+ static tree
+-gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for)
++gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora)
+ {
+- 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);
+- const char *cloog_iv = stmt_for->iterator;
++ const char *cloog_iv = stmt_fora->iterator;
+ CloogStatement *cs = body->statement;
+ poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
+
diff --git a/gcc45-hack.patch b/gcc45-hack.patch
new file mode 100644
index 0000000..2427264
--- /dev/null
+++ b/gcc45-hack.patch
@@ -0,0 +1,99 @@
+--- 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)
+ ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
+
++DEFAULTMULTIFLAGS :=
++ifeq ($(MULTISUBDIR),)
++targ:=$(subst -, ,$(target))
++arch:=$(word 1,$(targ))
++ifeq ($(words $(targ)),2)
++osys:=$(word 2,$(targ))
++else
++osys:=$(word 3,$(targ))
++endif
++ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),)
++ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64)
++DEFAULTMULTIFLAGS := -m64
++else
++ifeq ($(strip $(filter-out s390%, $(arch))),)
++DEFAULTMULTIFLAGS := -m31
++else
++DEFAULTMULTIFLAGS := -m32
++endif
++endif
++endif
++endif
++
+ # exeext should not be used because it's the *host* exeext. We're building
+ # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus
+ # definitions just in case something slips through the safety net provided
+ # by recursive make invocations in gcc/ada/Makefile.in
+ LIBADA_FLAGS_TO_PASS = \
+ "MAKEOVERRIDES=" \
+- "LDFLAGS=$(LDFLAGS)" \
++ "LDFLAGS=$(strip $(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)" \
+ "THREAD_KIND=$(THREAD_KIND)" \
+ "TRACE=$(TRACE)" \
+@@ -91,7 +113,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))"
+
+ # Rules to build gnatlib.
+ .PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared oscons
+--- gcc/ada/make.adb 2008-11-07 23:00:32.000000000 +0100
++++ gcc/ada/make.adb 2009-01-16 17:55:02.000000000 +0100
+@@ -8007,6 +8007,7 @@ package body Make is
+ or else Argv (2 .. Argv'Last) = "pg"
+ or else (Argv (2) = 'm' and then Argv'Last > 2)
+ or else (Argv (2) = 'f' and then Argv'Last > 2)
++ or else (Argv'Last >= 8 and then Argv (2 .. 8) = "-param=")
+ then
+ Add_Switch (Argv, Compiler, And_Save => And_Save);
+ Add_Switch (Argv, Linker, And_Save => And_Save);
+--- 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 @@
+ Exp : Node_Id;
+ Assn : Node_Id;
+ Choice : Node_Id;
+- Comp_Type : Entity_Id;
++ Comp_Type : Entity_Id := Empty;
+ Is_Array_Aggr : Boolean;
+
+ begin
+--- config-ml.in.jj 2010-06-30 09:50:44.000000000 +0200
++++ config-ml.in 2010-07-02 21:24:17.994211151 +0200
+@@ -516,6 +516,7 @@ multi-do:
+ ADAFLAGS="$(ADAFLAGS) $${flags}" \
+ prefix="$(prefix)" \
+ exec_prefix="$(exec_prefix)" \
++ mandir="$(mandir)" \
+ GCJFLAGS="$(GCJFLAGS) $${flags}" \
+ CXXFLAGS="$(CXXFLAGS) $${flags}" \
+ LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
diff --git a/gcc45-i386-libgomp.patch b/gcc45-i386-libgomp.patch
new file mode 100644
index 0000000..5d1eea8
--- /dev/null
+++ b/gcc45-i386-libgomp.patch
@@ -0,0 +1,61 @@
+Build i386.rpm libgomp and libsupc++.a(guard.o) as i486+, pre-i486
+hardware isn't supported because NPTL doesn't support it anyway.
+
+--- 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[3456]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
+ ;;
+--- libstdc++-v3/libsupc++/guard.cc.jj 2008-03-01 00:58:24.000000000 +0100
++++ libstdc++-v3/libsupc++/guard.cc 2008-03-27 14:08:44.000000000 +0100
+@@ -35,6 +35,27 @@
+ #include <new>
+ #include <ext/atomicity.h>
+ #include <ext/concurrence.h>
++#if defined __i386__ && !defined _GLIBCXX_ATOMIC_BUILTINS_4
++# define _GLIBCXX_ATOMIC_BUILTINS_4 1
++# define __sync_val_compare_and_swap(a, b, c) \
++ ({ \
++ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
++ int sltas; \
++ __asm __volatile ("lock; cmpxchgl %3, (%1)" \
++ : "=a" (sltas) \
++ : "r" (a), "0" (b), "r" (c) : "memory"); \
++ sltas; \
++ })
++# define __sync_lock_test_and_set(a, b) \
++ ({ \
++ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
++ int sltas; \
++ __asm __volatile ("xchgl (%1), %0" \
++ : "=r" (sltas) \
++ : "r" (a), "0" (b) : "memory"); \
++ sltas; \
++ })
++#endif
+ #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \
+ && defined(_GLIBCXX_ATOMIC_BUILTINS_4) && defined(_GLIBCXX_HAVE_LINUX_FUTEX)
+ # include <climits>
diff --git a/gcc45-java-nomulti.patch b/gcc45-java-nomulti.patch
new file mode 100644
index 0000000..17334aa
--- /dev/null
+++ b/gcc45-java-nomulti.patch
@@ -0,0 +1,44 @@
+--- libjava/configure.ac.jj 2007-12-07 17:55:50.000000000 +0100
++++ libjava/configure.ac 2007-12-07 18:36:56.000000000 +0100
+@@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode,
+ [allow rebuilding of .class and .h files]))
+ AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
+
++AC_ARG_ENABLE(libjava-multilib,
++ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
++if test "$enable_libjava_multilib" = no; then
++ multilib=no
++ ac_configure_args="$ac_configure_args --disable-multilib"
++fi
++
+ # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
+ GCC_NO_EXECUTABLES
+
+--- libjava/configure.jj 2007-12-07 17:55:50.000000000 +0100
++++ libjava/configure 2007-12-07 18:39:58.000000000 +0100
+@@ -1021,6 +1021,8 @@ Optional Features:
+ default=yes
+ --enable-java-maintainer-mode
+ allow rebuilding of .class and .h files
++ --enable-libjava-multilib
++ build libjava as multilib
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-maintainer-mode enable make rules and dependencies not useful
+@@ -1973,6 +1975,16 @@ else
+ fi
+
+
++# Check whether --enable-libjava-multilib was given.
++if test "${enable_libjava_multilib+set}" = set; then
++ enableval=$enable_libjava_multilib;
++fi
++
++if test "$enable_libjava_multilib" = no; then
++ multilib=no
++ ac_configure_args="$ac_configure_args --disable-multilib"
++fi
++
+ # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
+
+
diff --git a/gcc45-libgomp-omp_h-multilib.patch b/gcc45-libgomp-omp_h-multilib.patch
new file mode 100644
index 0000000..d0e98d1
--- /dev/null
+++ b/gcc45-libgomp-omp_h-multilib.patch
@@ -0,0 +1,17 @@
+2008-06-09 Jakub Jelinek <jakub@redhat.com>
+
+ * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs.
+
+--- libgomp/omp.h.in.jj 2008-06-09 13:34:05.000000000 +0200
++++ libgomp/omp.h.in 2008-06-09 13:34:48.000000000 +0200
+@@ -42,8 +42,8 @@ typedef struct
+
+ typedef struct
+ {
+- unsigned char _x[@OMP_NEST_LOCK_SIZE@]
+- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
++ unsigned char _x[8 + sizeof (void *)]
++ __attribute__((__aligned__(sizeof (void *))));
+ } omp_nest_lock_t;
+ #endif
+
diff --git a/gcc45-libstdc++-docs.patch b/gcc45-libstdc++-docs.patch
new file mode 100644
index 0000000..2d18f44
--- /dev/null
+++ b/gcc45-libstdc++-docs.patch
@@ -0,0 +1,47 @@
+--- libstdc++-v3/doc/html/index.html.jj 2010-06-30 09:48:38.000000000 +0200
++++ libstdc++-v3/doc/html/index.html 2010-07-01 16:22:25.066491878 +0200
+@@ -12,7 +12,8 @@
+ <div>
+ <h1>The GNU C++ Library Documentation</h1>
+
+-<p>Copyright 2008, 2009 FSF</p>
++<p>Release 4.5.0</p>
++<p>Copyright 2008, 2009, 2010 FSF</p>
+
+ <p>
+ Permission is granted to copy, distribute and/or modify this
+--- libstdc++-v3/doc/html/api.html.jj 2010-06-30 09:48:38.000000000 +0200
++++ libstdc++-v3/doc/html/api.html 2010-07-01 16:24:39.158429410 +0200
+@@ -17,27 +17,12 @@ useful for examining the signatures of p
+ the library classes, finding out what is in a particular include
+ file, looking at inheritance diagrams, etc.
+ </p><p>
+-The source-level documentation for the most recent releases can be
+-viewed online:
+-</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+- <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release
++The source-level documentation can be viewed here:
++</p>
++<div class="itemizedlist"><ul type="disc">
++ <li><p>
++ <a class="ulink" href="api/index.html" target="_top">for the 4.5 release
+ </a>
+- </p></li><li class="listitem"><p>
+- <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.1/index.html" target="_top">for the 4.1 release
+- </a>
+- </p></li><li class="listitem"><p>
+- <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/index.html" target="_top">for the 4.2 release
+- </a>
+- </p></li><li class="listitem"><p>
+- <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/index.html" target="_top">for the 4.3 release
+- </a>
+- </p></li><li class="listitem"><p>
+- <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/index.html" target="_top">for the 4.4 release
+- </a>
+- </p></li><li class="listitem"><p>
+- <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html" target="_top">"the latest collection"
+- </a>
+- (For the main development tree; see the date on the first page.)
+ </p></li></ul></div><p>
+ This generated HTML collection, as above, is also available for download in the libstdc++ snapshots directory at
+ <code class="literal"><URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/></code>.
diff --git a/gcc45-libtool-no-rpath.patch b/gcc45-libtool-no-rpath.patch
new file mode 100644
index 0000000..466c661
--- /dev/null
+++ b/gcc45-libtool-no-rpath.patch
@@ -0,0 +1,27 @@
+libtool sucks.
+--- ltmain.sh.jj 2007-12-07 14:53:21.000000000 +0100
++++ ltmain.sh 2008-09-05 21:51:48.000000000 +0200
+@@ -5394,6 +5394,7 @@ EOF
+ rpath="$finalize_rpath"
+ test "$mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+@@ -6071,6 +6072,7 @@ EOF
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+@@ -6120,6 +6122,7 @@ EOF
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
++ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
diff --git a/gcc45-no-add-needed.patch b/gcc45-no-add-needed.patch
new file mode 100644
index 0000000..4570c0c
--- /dev/null
+++ b/gcc45-no-add-needed.patch
@@ -0,0 +1,52 @@
+2010-02-08 Roland McGrath <roland@redhat.com>
+
+ * config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the
+ linker.
+ * config/linux.h (LINK_EH_SPEC): Likewise.
+ * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
+
+--- gcc/config/alpha/elf.h.~1~
++++ gcc/config/alpha/elf.h
+@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
+ I imagine that other systems will catch up. In the meantime, it
+ doesn't harm to make sure that the data exists to be used later. */
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ /* A C statement (sans semicolon) to output to the stdio stream STREAM
+--- gcc/config/ia64/linux.h.~1~
++++ gcc/config/ia64/linux.h
+@@ -58,7 +58,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 "%{!r:--build-id} "
++#define LINK_EH_SPEC "--no-add-needed %{!r:--build-id} "
+
+ #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
+
+--- gcc/config/linux.h.~1~
++++ gcc/config/linux.h
+@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI
+ } while (0)
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ /* Define this so we can compile MS code for use with WINE. */
+--- gcc/config/rs6000/sysv4.h.~1~
++++ gcc/config/rs6000/sysv4.h
+@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \
+ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
++# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
diff --git a/gcc45-ppc32-retaddr.patch b/gcc45-ppc32-retaddr.patch
new file mode 100644
index 0000000..e9ae1bc
--- /dev/null
+++ b/gcc45-ppc32-retaddr.patch
@@ -0,0 +1,86 @@
+2005-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_return_addr): If COUNT == 0,
+ read word RETURN_ADDRESS_OFFSET bytes above arg_pointer_rtx
+ instead of doing an extran indirection from frame_pointer_rtx.
+
+ * gcc.dg/20051128-1.c: New test.
+
+--- gcc/config/rs6000/rs6000.c.jj 2005-11-26 14:38:01.000000000 +0100
++++ gcc/config/rs6000/rs6000.c 2005-11-28 20:32:18.000000000 +0100
+@@ -13166,17 +13166,22 @@ rs6000_return_addr (int count, rtx frame
+ don't try to be too clever here. */
+ if (count != 0 || (DEFAULT_ABI != ABI_AIX && flag_pic))
+ {
++ rtx x;
+ cfun->machine->ra_needs_full_frame = 1;
+
+- return
+- gen_rtx_MEM
+- (Pmode,
+- memory_address
+- (Pmode,
+- plus_constant (copy_to_reg
+- (gen_rtx_MEM (Pmode,
+- memory_address (Pmode, frame))),
+- RETURN_ADDRESS_OFFSET)));
++ if (count == 0)
++ {
++ gcc_assert (frame == frame_pointer_rtx);
++ x = arg_pointer_rtx;
++ }
++ else
++ {
++ x = memory_address (Pmode, frame);
++ x = copy_to_reg (gen_rtx_MEM (Pmode, x));
++ }
++
++ x = plus_constant (x, RETURN_ADDRESS_OFFSET);
++ return gen_rtx_MEM (Pmode, memory_address (Pmode, x));
+ }
+
+ cfun->machine->ra_need_lr = 1;
+--- gcc/testsuite/gcc.dg/20051128-1.c.jj 2005-10-10 11:21:41.096999000 +0200
++++ gcc/testsuite/gcc.dg/20051128-1.c 2005-11-28 12:30:57.000000000 +0100
+@@ -0,0 +1,41 @@
++/* { dg-do run } */
++/* { dg-options "-O2 -fpic" } */
++
++extern void exit (int);
++extern void abort (void);
++
++int b;
++
++struct A
++{
++ void *pad[147];
++ void *ra, *h;
++ long o;
++};
++
++void
++__attribute__((noinline))
++foo (struct A *a, void *x)
++{
++ __builtin_memset (a, 0, sizeof (a));
++ if (!b)
++ exit (0);
++}
++
++void
++__attribute__((noinline))
++bar (void)
++{
++ struct A a;
++
++ __builtin_unwind_init ();
++ foo (&a, __builtin_return_address (0));
++}
++
++int
++main (void)
++{
++ bar ();
++ abort ();
++ return 0;
++}
diff --git a/gcc45-pr33763.patch b/gcc45-pr33763.patch
new file mode 100644
index 0000000..86c8ac7
--- /dev/null
+++ b/gcc45-pr33763.patch
@@ -0,0 +1,153 @@
+2007-11-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/33763
+ * gcc.dg/pr33763.c: New test.
+ * g++.dg/opt/inline13.C: New test.
+
+2007-11-06 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/33763
+ * tree-inline.c (expand_call_inline): Silently ignore always_inline
+ attribute for redefined extern inline functions.
+
+--- 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
+ 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. */
++ && !cg_edge->callee->local.redefined_extern_inline
+ /* Avoid warnings during early inline pass. */
+ && cgraph_global_info_ready)
+ {
+--- 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 @@
++/* PR tree-optimization/33763 */
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++
++typedef struct
++{
++ void *a;
++ void *b;
++} T;
++extern void *foo (const char *, const char *);
++extern void *bar (void *, const char *, T);
++extern int baz (const char *, int);
++
++extern inline __attribute__ ((always_inline, gnu_inline)) int
++baz (const char *x, int y)
++{
++ return 2;
++}
++
++int
++baz (const char *x, int y)
++{
++ return 1;
++}
++
++int xa, xb;
++
++static void *
++inl (const char *x, const char *y)
++{
++ T t = { &xa, &xb };
++ int *f = (int *) __builtin_malloc (sizeof (int));
++ const char *z;
++ int o = 0;
++ void *r = 0;
++
++ for (z = y; *z; z++)
++ {
++ if (*z == 'r')
++ o |= 1;
++ if (*z == 'w')
++ o |= 2;
++ }
++ if (o == 1)
++ *f = baz (x, 0);
++ if (o == 2)
++ *f = baz (x, 1);
++ if (o == 3)
++ *f = baz (x, 2);
++
++ if (o && *f > 0)
++ r = bar (f, "w", t);
++ return r;
++}
++
++void *
++foo (const char *x, const char *y)
++{
++ return inl (x, y);
++}
+--- gcc/testsuite/g++.dg/opt/inline13.C.jj 2007-11-06 16:20:20.000000000 +0100
++++ gcc/testsuite/g++.dg/opt/inline13.C 2007-11-06 16:21:30.000000000 +0100
+@@ -0,0 +1,60 @@
++// PR tree-optimization/33763
++// { dg-do compile }
++// { dg-options "-O2" }
++
++typedef struct
++{
++ void *a;
++ void *b;
++} T;
++extern void *foo (const char *, const char *);
++extern void *bar (void *, const char *, T);
++extern int baz (const char *, int);
++
++extern inline __attribute__ ((always_inline, gnu_inline)) int
++baz (const char *x, int y)
++{
++ return 2;
++}
++
++int
++baz (const char *x, int y)
++{
++ return 1;
++}
++
++int xa, xb;
++
++static void *
++inl (const char *x, const char *y)
++{
++ T t = { &xa, &xb };
++ int *f = (int *) __builtin_malloc (sizeof (int));
++ const char *z;
++ int o = 0;
++ void *r = 0;
++
++ for (z = y; *z; z++)
++ {
++ if (*z == 'r')
++ o |= 1;
++ if (*z == 'w')
++ o |= 2;
++ }
++ if (o == 1)
++ *f = baz (x, 0);
++ if (o == 2)
++ *f = baz (x, 1);
++ if (o == 3)
++ *f = baz (x, 2);
++
++ if (o && *f > 0)
++ r = bar (f, "w", t);
++ return r;
++}
++
++void *
++foo (const char *x, const char *y)
++{
++ return inl (x, y);
++}
diff --git a/gcc45-pr38757.patch b/gcc45-pr38757.patch
new file mode 100644
index 0000000..d550988
--- /dev/null
+++ b/gcc45-pr38757.patch
@@ -0,0 +1,118 @@
+2009-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/38757
+ * langhooks.h (struct lang_hooks): Add source_language langhook.
+ * langhooks-def.h (LANG_HOOKS_SOURCE_LANGUAGE): Define to NULL.
+ (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_SOURCE_LANGUAGE.
+ * c-lang.c (c_source_language): New function.
+ (LANG_HOOKS_SOURCE_LANGUAGE): Define.
+ * dwarf2out.c (add_prototyped_attribute): Add DW_AT_prototype
+ also for DW_LANG_{C,C99,ObjC}.
+ (gen_compile_unit_die): Use lang_hooks.source_language () to
+ determine if DW_LANG_C99 or DW_LANG_C89 should be returned.
+
+--- gcc/langhooks.h.jj 2010-06-30 09:48:30.000000000 +0200
++++ gcc/langhooks.h 2010-07-01 16:15:22.432616871 +0200
+@@ -454,6 +454,10 @@ struct lang_hooks
+ is enabled. */
+ bool eh_use_cxa_end_cleanup;
+
++ /* Return year of the source language standard version if the FE supports
++ multiple versions of the standard. */
++ int (*source_language) (void);
++
+ /* Whenever you add entries here, make sure you adjust langhooks-def.h
+ and langhooks.c accordingly. */
+ };
+--- gcc/langhooks-def.h.jj 2010-06-30 09:48:30.000000000 +0200
++++ gcc/langhooks-def.h 2010-07-01 16:16:07.427460761 +0200
+@@ -1,5 +1,5 @@
+ /* Default macros to initialize the lang_hooks data structure.
+- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
++ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Free Software Foundation, Inc.
+ Contributed by Alexandre Oliva <aoliva@redhat.com>
+
+@@ -111,6 +111,7 @@ extern void lhd_omp_firstprivatize_type_
+ #define LANG_HOOKS_EH_PERSONALITY lhd_gcc_personality
+ #define LANG_HOOKS_EH_RUNTIME_TYPE lhd_pass_through_t
+ #define LANG_HOOKS_EH_USE_CXA_END_CLEANUP false
++#define LANG_HOOKS_SOURCE_LANGUAGE NULL
+
+ /* Attribute hooks. */
+ #define LANG_HOOKS_ATTRIBUTE_TABLE NULL
+@@ -301,6 +302,7 @@ extern void lhd_end_section (void);
+ LANG_HOOKS_EH_PERSONALITY, \
+ LANG_HOOKS_EH_RUNTIME_TYPE, \
+ LANG_HOOKS_EH_USE_CXA_END_CLEANUP, \
++ LANG_HOOKS_SOURCE_LANGUAGE, \
+ }
+
+ #endif /* GCC_LANG_HOOKS_DEF_H */
+--- gcc/c-lang.c.jj 2010-06-30 09:48:30.000000000 +0200
++++ gcc/c-lang.c 2010-07-01 16:14:25.396197804 +0200
+@@ -1,6 +1,6 @@
+ /* Language-specific hook definitions for C front end.
+ Copyright (C) 1991, 1995, 1997, 1998,
+- 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008
++ 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008, 2009
+ Free Software Foundation, Inc.
+
+ This file is part of GCC.
+@@ -37,6 +37,12 @@ along with GCC; see the file COPYING3.
+
+ enum c_language_kind c_language = clk_c;
+
++static int
++c_source_language (void)
++{
++ return flag_isoc99 ? 1999 : 1989;
++}
++
+ /* Lang hooks common to C and ObjC are declared in c-objc-common.h;
+ consequently, there should be very few hooks below. */
+
+@@ -44,6 +50,8 @@ enum c_language_kind c_language = clk_c;
+ #define LANG_HOOKS_NAME "GNU C"
+ #undef LANG_HOOKS_INIT
+ #define LANG_HOOKS_INIT c_objc_common_init
++#undef LANG_HOOKS_SOURCE_LANGUAGE
++#define LANG_HOOKS_SOURCE_LANGUAGE c_source_language
+
+ /* Each front end provides its own lang hook initializer. */
+ struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+--- gcc/dwarf2out.c.jj 2010-07-01 14:07:41.000000000 +0200
++++ gcc/dwarf2out.c 2010-07-01 16:13:24.597354717 +0200
+@@ -17150,9 +17150,18 @@ add_bit_size_attribute (dw_die_ref die,
+ static inline void
+ add_prototyped_attribute (dw_die_ref die, tree func_type)
+ {
+- if (get_AT_unsigned (comp_unit_die, DW_AT_language) == DW_LANG_C89
+- && TYPE_ARG_TYPES (func_type) != NULL)
+- add_AT_flag (die, DW_AT_prototyped, 1);
++ switch (get_AT_unsigned (comp_unit_die, DW_AT_language))
++ {
++ case DW_LANG_C:
++ case DW_LANG_C89:
++ case DW_LANG_C99:
++ case DW_LANG_ObjC:
++ if (TYPE_ARG_TYPES (func_type) != NULL)
++ add_AT_flag (die, DW_AT_prototyped, 1);
++ break;
++ default:
++ break;
++ }
+ }
+
+ /* Add an 'abstract_origin' attribute below a given DIE. The DIE is found
+@@ -19246,6 +19255,10 @@ gen_compile_unit_die (const char *filena
+ language = DW_LANG_ObjC;
+ else if (strcmp (language_string, "GNU Objective-C++") == 0)
+ language = DW_LANG_ObjC_plus_plus;
++ else if (strcmp (language_string, "GNU C") == 0
++ && lang_hooks.source_language
++ && lang_hooks.source_language () >= 1999)
++ language = DW_LANG_C99;
+ }
+
+ add_AT_unsigned (die, DW_AT_language, language);
diff --git a/gcc45-pr44542.patch b/gcc45-pr44542.patch
new file mode 100644
index 0000000..340fb44
--- /dev/null
+++ b/gcc45-pr44542.patch
@@ -0,0 +1,49 @@
+2010-06-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/44542
+ * cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
+ of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
+ instead of MAX_SUPPORTED_STACK_ALIGNMENT.
+ (expand_one_var): Don't consider DECL_ALIGN for variables for
+ which expand_one_stack_var_at has been already called.
+
+--- gcc/cfgexpand.c.jj 2010-06-17 17:01:11.964198458 +0200
++++ gcc/cfgexpand.c 2010-06-17 18:25:18.940335757 +0200
+@@ -705,7 +705,7 @@ static void
+ expand_one_stack_var_at (tree decl, HOST_WIDE_INT offset)
+ {
+ /* Alignment is unsigned. */
+- unsigned HOST_WIDE_INT align;
++ unsigned HOST_WIDE_INT align, max_align;
+ rtx x;
+
+ /* If this fails, we've overflowed the stack frame. Error nicely? */
+@@ -722,10 +722,10 @@ expand_one_stack_var_at (tree decl, HOST
+ offset -= frame_phase;
+ align = offset & -offset;
+ align *= BITS_PER_UNIT;
+- if (align == 0)
+- align = STACK_BOUNDARY;
+- else if (align > MAX_SUPPORTED_STACK_ALIGNMENT)
+- align = MAX_SUPPORTED_STACK_ALIGNMENT;
++ max_align = MAX (crtl->max_used_stack_slot_alignment,
++ PREFERRED_STACK_BOUNDARY);
++ if (align == 0 || align > max_align)
++ align = max_align;
+
+ DECL_ALIGN (decl) = align;
+ DECL_USER_ALIGN (decl) = 0;
+@@ -930,6 +930,13 @@ expand_one_var (tree var, bool toplevel,
+ align = MINIMUM_ALIGNMENT (TREE_TYPE (var),
+ TYPE_MODE (TREE_TYPE (var)),
+ TYPE_ALIGN (TREE_TYPE (var)));
++ else if (DECL_HAS_VALUE_EXPR_P (var)
++ || (DECL_RTL_SET_P (var) && MEM_P (DECL_RTL (var))))
++ /* Don't consider debug only variables with DECL_HAS_VALUE_EXPR_P set
++ or variables which were assigned a stack slot already by
++ expand_one_stack_var_at - in the latter case DECL_ALIGN has been
++ changed from the offset chosen to it. */
++ align = crtl->stack_alignment_estimated;
+ else
+ align = MINIMUM_ALIGNMENT (var, DECL_MODE (var), DECL_ALIGN (var));
+
diff --git a/gcc45-rh330771.patch b/gcc45-rh330771.patch
new file mode 100644
index 0000000..1d91cc8
--- /dev/null
+++ b/gcc45-rh330771.patch
@@ -0,0 +1,27 @@
+2007-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.am (libgcj_tools_la_LIBADD): Add.
+ * Makefile.in: Regenerated.
+
+--- libjava/Makefile.am.jj 2009-05-06 08:14:50.000000000 +0200
++++ libjava/Makefile.am 2009-05-06 10:26:43.000000000 +0200
+@@ -510,7 +510,7 @@ libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS
+ libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
+ -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
+ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF)
+-libgcj_tools_la_LIBADD = libgcj.la -lm
++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la -lm
+ libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec
+ if BUILD_SUBLIBS
+ libgcj_tools_la_DEPENDENCIES += libgcj-noncore.la
+--- libjava/Makefile.in.jj 2009-05-06 08:14:49.000000000 +0200
++++ libjava/Makefile.in 2009-05-06 10:27:18.000000000 +0200
+@@ -1190,7 +1190,7 @@ libgcj_tools_la_LDFLAGS = -rpath $(toole
+ -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
+ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF)
+
+-libgcj_tools_la_LIBADD = libgcj.la -lm
++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la -lm
+ libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec $(am__append_22)
+ libgcj_tools_la_LINK = $(LIBLINK) $(libgcj_tools_la_LDFLAGS)
+ libjvm_la_SOURCES = jni-libjvm.cc
diff --git a/gcc45-sparc-config-detection.patch b/gcc45-sparc-config-detection.patch
new file mode 100644
index 0000000..d94b17d
--- /dev/null
+++ b/gcc45-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
+@@ -2393,7 +2393,7 @@ sparc-*-elf*)
+ tmake_file="sparc/t-elf sparc/t-crtfm"
+ extra_parts="crti.o crtn.o crtbegin.o crtend.o"
+ ;;
+-sparc-*-linux*) # SPARC's running GNU/Linux, libc6
++sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h glibc-stdint.h"
+ extra_options="${extra_options} sparc/long-double-switch.opt"
+ tmake_file="${tmake_file} sparc/t-linux"
+@@ -2481,7 +2481,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
+ *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
+ esac
+ ;;
+-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
++sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux
+ tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h glibc-stdint.h sparc/linux64.h"
+ extra_options="${extra_options} sparc/long-double-switch.opt"
+ tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
+--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
++++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500
+@@ -572,7 +572,7 @@ sparc64-*-openbsd*)
+ ;;
+ sparc-*-elf*)
+ ;;
+-sparc-*-linux*) # SPARC's running GNU/Linux, libc6
++sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6
+ extra_parts="$extra_parts crtfastmath.o"
+ tmake_file="${tmake_file} sparc/t-crtfm"
+ ;;
+@@ -590,7 +590,7 @@ sparc-wrs-vxworks)
+ ;;
+ sparc64-*-freebsd*|ultrasparc-*-freebsd*)
+ ;;
+-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} sparc/t-crtfm"
+ ;;
diff --git a/import.log b/import.log
index 1615cd8..4a3b2a2 100644
--- a/import.log
+++ b/import.log
@@ -22,3 +22,4 @@ gcc-4_4_4-7_fc14:HEAD:gcc-4.4.4-7.fc14.src.rpm:1275991256
gcc-4_4_4-8_fc14:HEAD:gcc-4.4.4-8.fc14.src.rpm:1276244517
gcc-4_4_4-9_fc14:HEAD:gcc-4.4.4-9.fc14.src.rpm:1277410688
gcc-4_4_4-10_fc14:HEAD:gcc-4.4.4-10.fc14.src.rpm:1277882958
+gcc-4_5_0-1_fc14:HEAD:gcc-4.5.0-1.fc14.src.rpm:1278524061
diff --git a/protoize.1 b/protoize.1
deleted file mode 100644
index 5dde73d..0000000
--- a/protoize.1
+++ /dev/null
@@ -1,291 +0,0 @@
-.\" Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
-.\" See section COPYING for conditions for redistribution
-.\"
-.TH protoize 1 "8 December 2006" "GCC" "GNU"
-.SH NAME
-protoize, unprotoize \- automatically add or remove function prototypes
-.SH SYNOPSIS
-.HP 7
-\fBprotoize\fR [\-CfgklNnqv] [\-B \fIDIRECTORY\fR] [\-c \fICOMPILATION-OPTIONS\fR] [\-d \fIDIRECTORY\fR] [\-i \fISTRING\fR] [\-p \fIPROGRAM\fR] [\-x \fIFILE\fR] [\fIFILE\fR...]
-.HP 7
-\fBunprotoize\fR [\-fkNnqv] [\-c \fICOMPILATION-OPTIONS\fR] [\-d \fIDIRECTORY\fR] [\-i \fISTRING\fR] [\-p \fIPROGRAM\fR] [\-x \fIFILE\fR] [\fIFILE\fR...]
-.SH DESCRIPTION
-.PP
-\fBprotoize\fR is an optional part of GCC.
-You can use it to add prototypes to a program,
-thus converting the program to ANSI C in one respect.
-The companion program
-\fBunprotoize\fR does the reverse: it removes argument types from any prototypes that are found.
-.PP
-When you run these programs, you must specify a set of source files
-as command line arguments.
-The conversion programs start out by compiling these files
-to see what functions they define.
-The information gathered about a file
-\fIFOO\fR is saved in a file named \fIFOO.X\fR.
-.PP
-After scanning comes the actual conversion.
-The specified files are all eligible to be converted;
-any files they include (whether sources or just headers) are eligible as well.
-.PP
-But not all the eligible files are converted.
-By default,
-\fBprotoize\fR and \fBunprotoize\fR
-convert only source and header files in the current directory.
-You can specify additional directories whose files
-should be converted with the
-\fB\-d\fR \fIDIRECTORY\fR option.
-You can also specify particular files to exclude with the
-\fB\-x\fR \fIFILE\fR option.
-A file is converted if it is eligible, its directory name matches one of the
-specified directory names, and its name within the directory has not
-been excluded.
-.PP
-Basic conversion with
-\fBprotoize\fR consists of rewriting most function definitions and function declarations
-to specify the types of the arguments.
-The only ones not rewritten are those for varargs functions.
-.PP
-\fBprotoize\fR optionally inserts prototype declarations at the beginning of the source file,
-to make them available for any calls that precede the function's definition.
-Or it can insert prototype declarations with block scope
-in the blocks where undeclared functions are called.
-.PP
-Basic conversion with
-\fBunprotoize\fR
-consists of rewriting most function declarations to remove any argument types,
-and rewriting function definitions to the old-style pre-ANSI form.
-.PP
-Both conversion programs print a warning for any function
-declaration or definition that they can't convert.
-You can suppress these warnings with the
-\fB\-q\fR option.
-.PP
-The output from
-\fBprotoize\fR or \fBunprotoize\fR
-replaces the original source file.
-The original file is renamed to a name ending with
-\fI.save\fR.
-If the \fI.save\fR file already exists, then the source file is simply discarded.
-.PP
-\fBprotoize\fR and \fBunprotoize\fR both depend on
-\fBgcc\fR\|(1) to scan the program and collect information about the functions it uses.
-.PP
-The options are as follows:
-.TP
-\fB\-B\fR \fIDIRECTORY\fR
-Look for the file
-\fISYSCALLS.c.X\fR in \fIdirectory\fR,
-instead of the usual directory (normally \fI/usr/local/lib\fR).
-This file contains prototype information about standard system functions.
-This option applies only to \fBprotoize\fR.
-.TP
-\fB\-C\fR
-Rename files to end in
-\fI.C\fR instead of \fI.c\fR.
-This is convenient if you are converting a C program to C++.
-This option applies only to
-\fBprotoize\fR.
-.TP
-\fB\-c\fR \fICOMPILATION-OPTIONS\fR
-Use \fICOMPILATION-OPTIONS\fR as the options when running \fBgcc\fR\|(1) to produce the
-\fI.X\fR files.
-The special option \fB\-aux-info\fR is always passed in addition, to tell gcc to write a
-\fI.X\fR file.
-Note that the compilation options must be given as a single argument to
-\fBprotoize\fR or \fBunprotoize\fR.
-If you want to specify several gcc options, you must quote the entire set of
-compilation options to make them a single word in the shell.
-There are certain gcc arguments that you cannot use, because they
-would produce the wrong kind of output.
-These include
-\fB\-g\fR, \fB\-O\fR, \fB\-c\fR, \fB\-S\fR,\fB\-o\fR.
-If you include these in the \fICOMPILATION-OPTIONS\fR, they are ignored.
-.TP
-\fB\-d\fR \fIDIRECTORY\fR
-Specify additional directories whose files should be converted.
-.TP
-\fB\-g\fR
-Add explicit global declarations.
-This means inserting explicit declarations at the beginning of each
-source file for each function that is called in the file and was not declared.
-These declarations precede the first function definition that contains a
-call to an undeclared function.
-This option applies only to
-.\fBprotoize\fR.
-.TP
-\fB\-i\fR \fISTRING\fR
-Indent old-style parameter declarations with the string
-\fISTRING\fR.
-This option applies only to
-\fBprotoize\fR.
-\fBunprotoize\fR converts prototyped function definitions to old-style
-function definitions, where the arguments are declared between the
-argument list and the initial
-\fB{\fR.
-By default,
-\fBunprotoize\fR uses five spaces as the indentation.
-If you want to indent with just one space instead, use
-\fB\-i " "\fR.
-.TP
-\fB\-k\fR
-Keep the
-\fI.X\fR files.
-Normally, they are deleted after conversion is finished.
-.TP
-\fB\-l\fR
-Add explicit local declarations.
-\fBprotoize\fR with
-\fB\-l\fR inserts a prototype declaration for each function in each block which calls
-the function without any declaration.
-This option applies only to
-\fBprotoize\fR.
-.TP
-\fB\-N\fR
-Make no \fI.save\fR files.
-The original files are simply deleted.
-Use this option with caution.
-.TP
-\fB\-n\fR
-Make no real changes.
-This mode just prints information about the conversions
-that would have been done without
-\fB\-n\fR.
-.TP
-\fB\-p\fR \fIPROGRAM\fR
-Use the program
-\fBPROGRAM\fR as the compiler.
-Normally, the name
-\fBgcc\fR is used.
-.TP
-\fB\-q\fR
-Work quietly.
-Most warnings are suppressed.
-.TP
-\fB\-v\fR
-Print the version number, just like
-\fB\-v\fR for gcc.
-.TP
-\fB\-x\fR \fBFILE\fR
-List of files to exclude from the conversion process.
-.PP
-If you need special compiler options to compile one of your program's
-source files, then you should generate that file's
-\fI.X\fR file specially, by running gcc on that source file with
-the appropriate options and the option
-\fB\-aux-info\fR.
-Then run
-\fBprotoize\fR on the entire set of files.
-\fBprotoize\fR will use the existing
-\fI.X\fR file because it is newer than the source file.
-For example:
-.PP
-.DL $ gcc -Dfoo=bar file1.c -aux-info
-.DL $ protoize *.c
-.PP
-You need to include the special files along with the rest in the
-\fBprotoize\fR command, even though their
-\fI.X\fR files already exist, because otherwise they won't get converted.
-.PP
-.SH SEE ALSO
-\fBgcc\fR\|(1), and the Info entry for \fBgcc\fR, particularly
-\fBRunning protoize\fR section.
-.SH HISTORY
-Ron Guilmette implemented the
-\fBprotoize\fR and \fBunprotoize\fR tools.
-.SH AUTHORS
-See the GCC manual for the contributors to GCC.
-.SH CAVEATS
-The conversion programs \fBprotoize\fR and \fBunprotoize\fR
-can sometimes change a source file in a way that won't work
-unless you rearrange it.
-.PP
-\fBprotoize\fR can insert references to a type name or type tag before
-the definition, or in a file where they are not defined.
-.PP
-If this happens, compiler error messages should indicate where the
-new references are, so fixing the file by hand is straightforward.
-.PP
-There are some C constructs which \fBprotoize\fR
-cannot figure out.
-For example, it can't determine argument types for declaring a
-pointer-to-function variable; this must be done by hand. \fBprotoize\fR
-inserts a comment containing \fB???\fR each time it finds such a variable;
-all such variables can be found by searching for this string.
-ANSI C does not require declaring the argument types of
-pointer-to-function types.
-.PP
-Using \fBunprotoize\fR can easily introduce bugs.
-If the program relied on prototypes to bring about conversion of arguments,
-these conversions will not take place in the program without prototypes.
-One case in which you can be sure \fBunprotoize\fR
-is safe is when you are removing prototypes that were made with
-\fBprotoize\fR; if the program worked before without any prototypes,
-it will work again without them.
-.PP
-You can find all the places where this problem might occur by
-compiling the program with the \fB\-Wconversion\fR option.
-It prints a warning whenever an argument is converted.
-.PP
-Both conversion programs can be confused if there are macro calls
-in and around the text to be converted.
-In other words, the standard syntax for a declaration or definition
-must not result from expanding a macro.
-This problem is inherent in the design of C and cannot be fixed.
-If only a few functions have confusing macro calls,
-you can easily convert them manually.
-.PP
-\fBprotoize\fR cannot get the argument types for a function whose definition was not
-actually compiled due to preprocessing conditionals.
-When this happens, \fBprotoize\fR changes nothing in regard to such a function.
-\fBprotoize\fR tries to detect such instances and warn about them.
-.PP
-You can generally work around this problem by using
-\fBprotoize\fR step by step, each time specifying a different set of
-\fB\-D\fR options for compilation, until all of the functions have been converted.
-There is no automatic way to verify that you have got them all, however.
-.PP
-Confusion may result if there is an occasion to convert a function
-declaration or definition in a region of source code where there
-is more than one formal parameter list present.
-Thus, attempts to convert code containing multiple (conditionally compiled)
-versions of a single function header (in the same vicinity)
-may not produce the desired (or expected) results.
-.PP
-If you plan on converting source files which contain such code,
-it is recommended that you first make sure that each conditionally
-compiled region of source code which contains an alternative
-function header also contains at least one additional follower
-token (past the final right parenthesis of the function header).
-This should circumvent the problem.
-.PP
-\fBunprotoize\fR can become confused when trying to convert a function
-definition or declaration which contains a declaration for a
-pointer-to-function formal argument which has the same name as the
-function being defined or declared.
-We recommand you avoid such choices of formal parameter names.
-.PP
-It might be necessary to correct some of the indentation by hand and
-break long lines.
-(The conversion programs don't write lines longer than eighty characters
-in any case.)
-.SH BUGS
-For instructions on reporting bugs, see the GCC manual.
-.SH COPYING
-Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-.PP
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-.PP
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-.PP
-Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be included in
-translations approved by the Free Software Foundation instead of in
-the original English.
diff --git a/sources b/sources
index 9ecbe6e..bd7a734 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
-1e5a3dc8063ea17ed92939cd01d244d0 gcc-4.4.4-20100630.tar.bz2
+cba4eec9853841706747987fb1bc58c5 gcc-4.5.0-20100707.tar.bz2
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-29 12:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 12:24 [rpms/gcc] rhel-f41-base: 4.5.0-1 Jakub Jelinek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox