diff --git a/.gitignore b/.gitignore index ce24fb8..cd9e64e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ fastjar-0.97.tar.gz gcc-4.5.1-20101130.tar.bz2 +/fastjar-0.97.tar.gz +/gcc-4.6.0-20110122.tar.bz2 diff --git a/gcc.spec b/gcc.spec index 19ceb37..a15de73 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20101130 -%global SVNREV 167299 -%global gcc_version 4.5.1 +%global DATE 20110122 +%global SVNREV 169125 +%global gcc_version 4.6.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 6 +%global gcc_release 0.2 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha @@ -12,6 +12,7 @@ %global build_ada 0 %endif %global build_java 1 +%global build_go 1 %global build_cloog 1 %global build_libstdcxx_docs 1 # If you don't have already a usable gcc-java and libgcj for your arch, @@ -42,7 +43,7 @@ License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions Group: Development/Languages # The source for this package was pulled from upstream's vcs. Use the # following commands to generate the tarball: -# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_4-branch@%{SVNREV} gcc-%{version}-%{DATE} +# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_6-branch@%{SVNREV} gcc-%{version}-%{DATE} # tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2 Source0: gcc-%{version}-%{DATE}.tar.bz2 Source1: libgcc_post_upgrade.c @@ -65,6 +66,7 @@ BuildRequires: binutils >= 2.20.51.0.2-12 # -static is used several times. BuildRequires: glibc-static BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils +BuildRequires: systemtap-sdt-devel >= 1.3 # For VTA guality testing BuildRequires: gdb %if %{build_java} @@ -138,20 +140,23 @@ Requires(post): /sbin/install-info Requires(preun): /sbin/install-info AutoReq: true -Patch0: gcc45-hack.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 +Patch0: gcc46-hack.patch +Patch2: gcc46-c++-builtin-redecl.patch +Patch4: gcc46-java-nomulti.patch +Patch5: gcc46-ppc32-retaddr.patch +Patch6: gcc46-pr33763.patch +Patch7: gcc46-rh330771.patch +Patch8: gcc46-i386-libgomp.patch +Patch9: gcc46-sparc-config-detection.patch +Patch10: gcc46-libgomp-omp_h-multilib.patch +Patch11: gcc46-libtool-no-rpath.patch +Patch12: gcc46-cloog-dl.patch +Patch14: gcc46-pr38757.patch +Patch15: gcc46-libstdc++-docs.patch +Patch17: gcc46-no-add-needed.patch +Patch18: gcc46-unwind-debughook-sdt.patch +Patch19: gcc46-pr47106-revert.patch +Patch20: gcc46-pr46890.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -175,11 +180,11 @@ Patch1004: fastjar-man.patch %endif %description -The gcc package contains the GNU Compiler Collection version 4.5. +The gcc package contains the GNU Compiler Collection version 4.6. You'll need this package in order to compile C code. %package -n libgcc -Summary: GCC version 4.5 shared support library +Summary: GCC version 4.6 shared support library Group: System Environment/Libraries Autoreq: false @@ -481,6 +486,9 @@ GNAT is a GNU Ada 95 front-end to GCC. This package includes static libraries. %patch15 -p0 -b .libstdc++-docs~ %endif %patch17 -p0 -b .no-add-needed~ +%patch18 -p0 -b .unwind-debughook-sdt~ +%patch19 -p0 -b .pr47106-revert~ +%patch20 -p0 -b .pr46890~ # This testcase doesn't compile. rm libjava/testsuite/libjava.lang/PR35020* @@ -497,11 +505,8 @@ tar xzf %{SOURCE4} tar xjf %{SOURCE10} %endif -sed -i -e 's/4\.5\.2/4.5.1/' gcc/BASE-VER +sed -i -e 's/4\.6\.0/4.6.0/' gcc/BASE-VER echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE -%if 0%{?fedora} <= 14 -sed -i -e 's/#define EMIT_IMPLICIT_PTR 1/#define EMIT_IMPLICIT_PTR 0/' gcc/cfgexpand.c -%endif # Default to -gdwarf-3 rather than -gdwarf-2 sed -i '/UInteger Var(dwarf_version)/s/Init(2)/Init(3)/' gcc/common.opt @@ -538,6 +543,9 @@ if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then fi %endif +# This test causes fork failures, because it spawns way too many threads +rm -f gcc/testsuite/go.test/test/chan/goroutines.go + %build %if %{build_java} @@ -627,9 +635,9 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`" --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ --enable-gnu-unique-object --enable-linker-build-id \ %if !%{build_ada} - --enable-languages=c,c++,objc,obj-c++,java,fortran,lto \ + --enable-languages=c,c++,objc,obj-c++,java,fortran,go,lto \ %else - --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,lto \ + --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto \ %endif --enable-plugin \ %if !%{build_java} @@ -724,9 +732,6 @@ done) (cd libgfortran; for i in ChangeLog*; do cp -p $i ../rpm.doc/gfortran/$i.libgfortran done) -(cd gcc/objc; for i in README*; do - cp -p $i ../../rpm.doc/objc/$i.objc -done) (cd libobjc; for i in README*; do cp -p $i ../rpm.doc/objc/$i.libobjc done) @@ -950,28 +955,28 @@ popd pushd $FULLPATH if [ "%{_lib}" = "lib" ]; then -ln -sf ../../../libobjc.so.2 libobjc.so +ln -sf ../../../libobjc.so.3 libobjc.so ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so ln -sf ../../../libgfortran.so.3.* libgfortran.so ln -sf ../../../libgomp.so.1.* libgomp.so ln -sf ../../../libmudflap.so.0.* libmudflap.so ln -sf ../../../libmudflapth.so.0.* libmudflapth.so %if %{build_java} -ln -sf ../../../libgcj.so.11.* libgcj.so -ln -sf ../../../libgcj-tools.so.11.* libgcj-tools.so -ln -sf ../../../libgij.so.11.* libgij.so +ln -sf ../../../libgcj.so.12.* libgcj.so +ln -sf ../../../libgcj-tools.so.12.* libgcj-tools.so +ln -sf ../../../libgij.so.12.* libgij.so %endif else -ln -sf ../../../../%{_lib}/libobjc.so.2 libobjc.so +ln -sf ../../../../%{_lib}/libobjc.so.3 libobjc.so ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so ln -sf ../../../../%{_lib}/libgfortran.so.3.* libgfortran.so ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so ln -sf ../../../../%{_lib}/libmudflap.so.0.* libmudflap.so ln -sf ../../../../%{_lib}/libmudflapth.so.0.* libmudflapth.so %if %{build_java} -ln -sf ../../../../%{_lib}/libgcj.so.11.* libgcj.so -ln -sf ../../../../%{_lib}/libgcj-tools.so.11.* libgcj-tools.so -ln -sf ../../../../%{_lib}/libgij.so.11.* libgij.so +ln -sf ../../../../%{_lib}/libgcj.so.12.* libgcj.so +ln -sf ../../../../%{_lib}/libgcj-tools.so.12.* libgcj-tools.so +ln -sf ../../../../%{_lib}/libgij.so.12.* libgij.so %endif fi %if %{build_java} @@ -996,35 +1001,35 @@ mv -f $FULLPATH/ada{include,lib} $FULLLPATH/ pushd $FULLLPATH/adalib if [ "%{_lib}" = "lib" ]; then ln -sf ../../../../../libgnarl-*.so libgnarl.so -ln -sf ../../../../../libgnarl-*.so libgnarl-4.5.so +ln -sf ../../../../../libgnarl-*.so libgnarl-4.6.so ln -sf ../../../../../libgnat-*.so libgnat.so -ln -sf ../../../../../libgnat-*.so libgnat-4.5.so +ln -sf ../../../../../libgnat-*.so libgnat-4.6.so else ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so -ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.5.so +ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.6.so ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so -ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.5.so +ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.6.so fi popd else pushd $FULLPATH/adalib if [ "%{_lib}" = "lib" ]; then ln -sf ../../../../libgnarl-*.so libgnarl.so -ln -sf ../../../../libgnarl-*.so libgnarl-4.5.so +ln -sf ../../../../libgnarl-*.so libgnarl-4.6.so ln -sf ../../../../libgnat-*.so libgnat.so -ln -sf ../../../../libgnat-*.so libgnat-4.5.so +ln -sf ../../../../libgnat-*.so libgnat-4.6.so else ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so -ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.5.so +ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.6.so ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so -ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.5.so +ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.6.so fi popd fi %endif %ifarch sparcv9 ppc -ln -sf ../../../../../lib64/libobjc.so.2 64/libobjc.so +ln -sf ../../../../../lib64/libobjc.so.3 64/libobjc.so ln -sf ../`echo ../../../../lib/libstdc++.so.6.*[0-9] | sed s~/lib/~/lib64/~` 64/libstdc++.so ln -sf ../`echo ../../../../lib/libgfortran.so.3.* | sed s~/lib/~/lib64/~` 64/libgfortran.so ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so @@ -1034,9 +1039,9 @@ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflap.so echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflapth.so %if %{build_java} -ln -sf ../`echo ../../../../lib/libgcj.so.11.* | sed s~/lib/~/lib64/~` 64/libgcj.so -ln -sf ../`echo ../../../../lib/libgcj-tools.so.11.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so -ln -sf ../`echo ../../../../lib/libgij.so.11.* | sed s~/lib/~/lib64/~` 64/libgij.so +ln -sf ../`echo ../../../../lib/libgcj.so.12.* | sed s~/lib/~/lib64/~` 64/libgcj.so +ln -sf ../`echo ../../../../lib/libgcj-tools.so.12.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so +ln -sf ../`echo ../../../../lib/libgij.so.12.* | sed s~/lib/~/lib64/~` 64/libgij.so ln -sf lib32/libgcj_bc.so libgcj_bc.so ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so %endif @@ -1060,7 +1065,7 @@ ln -sf ../lib64/adalib 64/adalib %endif %ifarch %{multilib_64_archs} mkdir -p 32 -ln -sf ../../../../libobjc.so.2 32/libobjc.so +ln -sf ../../../../libobjc.so.3 32/libobjc.so ln -sf ../`echo ../../../../lib64/libstdc++.so.6.*[0-9] | sed s~/../lib64/~/~` 32/libstdc++.so ln -sf ../`echo ../../../../lib64/libgfortran.so.3.* | sed s~/../lib64/~/~` 32/libgfortran.so ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so @@ -1070,9 +1075,9 @@ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflapth.so.0.* | se echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflap.so echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflapth.so %if %{build_java} -ln -sf ../`echo ../../../../lib64/libgcj.so.11.* | sed s~/../lib64/~/~` 32/libgcj.so -ln -sf ../`echo ../../../../lib64/libgcj-tools.so.11.* | sed s~/../lib64/~/~` 32/libgcj-tools.so -ln -sf ../`echo ../../../../lib64/libgij.so.11.* | sed s~/../lib64/~/~` 32/libgij.so +ln -sf ../`echo ../../../../lib64/libgcj.so.12.* | sed s~/../lib64/~/~` 32/libgcj.so +ln -sf ../`echo ../../../../lib64/libgcj-tools.so.12.* | sed s~/../lib64/~/~` 32/libgcj-tools.so +ln -sf ../`echo ../../../../lib64/libgij.so.12.* | sed s~/../lib64/~/~` 32/libgij.so %endif mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/ mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/ @@ -1121,7 +1126,7 @@ popd chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.3.* chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.* chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.so.0.* -chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.2.* +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.3.* %if %{build_ada} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so* @@ -1636,7 +1641,7 @@ fi %files -n libobjc %defattr(-,root,root,-) -%{_prefix}/%{_lib}/libobjc.so.2* +%{_prefix}/%{_lib}/libobjc.so.3* %files gfortran %defattr(-,root,root,-) @@ -1955,119 +1960,54 @@ fi %endif %changelog -* Tue Nov 30 2010 Jakub Jelinek 4.5.1-6 -- update from gcc-4_5-branch - - PRs ada/40777, c/46547, debug/46258, fortran/45742, fortran/46638, - fortran/46668, middle-end/43057, middle-end/46651, - rtl-optimization/46315, rtl-optimization/46571, target/31100, - target/44266, target/45807, tree-optimization/44545, - tree-optimization/46491, tree-optimization/46498, - tree-optimization/46675 -%if 0%{fedora} >= 15 -- rebuilt against new mpfr and libmpc -%endif +* Sat Jan 22 2011 Jakub Jelinek 4.6.0-0.2 +- update from the trunk + - PRs bootstrap/47055, bootstrap/47187, bootstrap/47215, c++/33558, + c++/45520, c++/46552, c++/46658, c++/46688, c++/46903, c++/46977, + c++/47022, c++/47041, c++/47067, c++/47213, c++/47218, c++/47289, + c++/47291, c++/47303, c++/47388, c/47150, debug/46240, debug/46583, + debug/46704, debug/46724, debug/46955, debug/47079, debug/47106, + debug/47209, debug/47283, debug/47402, debug/PR46973, driver/42445, + driver/47244, fortran/33117, fortran/38536, fortran/41580, + fortran/45777, fortran/45848, fortran/46017, fortran/46313, + fortran/46402, fortran/46405, fortran/46416, fortran/46478, + fortran/46625, fortran/46817, fortran/46896, fortran/47024, + fortran/47051, fortran/47174, fortran/47177, fortran/47180, + fortran/47182, fortran/47189, fortran/47194, fortran/47195, + fortran/47204, fortran/47224, fortran/47240, fortran/47260, + fortran/47268, fortran/47295, fortran/47327, fortran/47331, + fortran/47377, fortran/47394, gcc/46902, libfortran/46267, + libfortran/47296, libfortran/47322, libgfortran/47154, + libgfortran/47296, libstdc++/36104, libstdc++/47045, libstdc++/47145, + libstdc++/47185, libstdc++/47320, libstdc++/47321, libstdc++/47323, + libstdc++/47354, lto/45375, lto/45721, lto/46083, lto/46760, + lto/47162, lto/47188, lto/47222, lto/47225, lto/47259, lto/47264, + middle-end/32511, middle-end/45235, middle-end/45566, + middle-end/46823, middle-end/46894, middle-end/47281, + middle-end/47370, middle-end/47395, objc/45989, objc/47078, + objc/47232, objc/47314, other/45915, other/46946, preprocessor/39213, + rtl-optimization/39077, rtl-optimization/41619, + rtl-optimization/45352, rtl-optimization/47216, + rtl-optimization/47299, rtl-optimization/47337, + rtl-optimization/47366, target/19162, target/38118, target/43309, + target/45258, target/46037, target/46655, target/46997, target/47201, + target/47219, target/47251, target/47318, testsuite/33033, + testsuite/41146, testsuite/45342, testsuite/46230, testsuite/46912, + testsuite/47325, testsuite/47371, tree-optimization/45934, + tree-optimization/45967, tree-optimization/46021, + tree-optimization/46076, tree-optimization/46130, + tree-optimization/46302, tree-optimization/46367, + tree-optimization/47005, tree-optimization/47053, + tree-optimization/47056, tree-optimization/47086, + tree-optimization/47139, tree-optimization/47141, + tree-optimization/47167, tree-optimization/47179, + tree-optimization/47233, tree-optimization/47234, + tree-optimization/47239, tree-optimization/47276, + tree-optimization/47280, tree-optimization/47286, + tree-optimization/47290, tree-optimization/47313, + tree-optimization/47355, tree-optimization/47365, + tree-optimization/47391, tree-optmization/46469 +- add systemtap probe to _Unwind_DebugHook -* Fri Nov 12 2010 Jakub Jelinek 4.5.1-5 -- update from gcc-4_5-branch - - PRs bootstrap/44455, bootstrap/44621, c++/45894, c++/45983, c++/46024, - c++/46160, c/44772, c/45969, debug/42487, debug/44832, debug/45656, - debug/45939, fortran/42169, fortran/45748, fortran/46007, - fortran/46140, fortran/46152, java/43839, libffi/45677, - libfortran/45710, libgfortran/46010, libgfortran/46373, - libstdc++/45403, libstdc++/45711, libstdc++/45924, libstdc++/45999, - middle-end/43690, middle-end/44569, middle-end/45569, - middle-end/45869, middle-end/46019, middle-end/46419, - rtl-opt/46226, rtl-optimization/43358, rtl-optimization/44691, - rtl-optimization/46237, target/42070, target/43715, target/43764, - target/44452, target/45820, target/45843, target/45946, target/46098, - target/46153, target/46419, tree-optimization/45314, - tree-optimization/45752, tree-optimization/45854, - tree-optimization/45902, tree-optimization/45982, - tree-optimization/46099, tree-optimization/46107, - tree-optimization/46165, tree-optimization/46167, - tree-optimization/46177, tree-optimization/46355 -- -Wunused-but-set* fix for computed goto (PR c/46015) -- fix -Wunused-but-set* for ObjC and ObjC++ -- VTA backports - - PRs bootstrap/43994, bootstrap/45630, debug/43478, debug/44023, - debug/46171, debug/46252, debug/46255, rtl-optimization/45162, - tree-optimization/46066 -%if 0%{?fedora} > 14 -- DW_OP_GNU_implicit_pointer support -%endif - -* Fri Sep 24 2010 Jakub Jelinek 4.5.1-4 -- update from gcc-4_5-branch - - PRs bootstrap/43847, debug/43628, fortran/45081, fortran/45595, - java/44095, libfortran/45532, libstdc++/45398, middle-end/40386, - middle-end/44554, middle-end/44763, middle-end/45312, - middle-end/45567, middle-end/45678, middle-end/45704, other/45443, - rtl-optimization/41085, rtl-optimization/41087, - rtl-optimization/42775, rtl-optimization/44919, - rtl-optimization/45051, rtl-optimization/45593, - rtl-optimization/45728, target/35664, target/36502, target/40959, - target/42313, target/44651, target/45694, target/45726, - tree-optimization/45623, tree-optimization/45709 - - fix ICE in dwarf2out_finish (#632847, PR debug/45660) - - fix combiner (#634757, PR rtl-optimization/45695) -- yet another -Wunused-but-set* fix for C++ consts in - templates (PR c++/45588) -- emit slightly more compact .eh_frame - -* Tue Sep 7 2010 Jakub Jelinek 4.5.1-3 -- update from gcc-4_5-branch - - PRs c++/44991, c++/45315, debug/45500, fortran/45019, fortran/45186, - fortran/45344, fortran/45489, fortran/45530, libstdc++/45283, - lto/45496, middle-end/44632, middle-end/45292, middle-end/45423, - middle-end/45458, middle-end/45484, rtl-optimization/44858, - rtl-optimization/45353, rtl-optimization/45400, target/41484, - target/45070, target/45296, target/45327, tree-optimization/45241, - tree-optimization/45260, tree-optimization/45393 - - fix TYPENAME_TYPE handling (#620095, PRs c++/45200, c++/45293, c++/45558) - -* Tue Aug 31 2010 Dennis Gilmore 4.5.1-2 -- enable cloog on sparc arches - -* Thu Aug 12 2010 Jakub Jelinek 4.5.1-1 -- update from gcc-4_5-branch - - GCC 4.5.1 release - - PRs boehm-gc/34544, c++/45112, fortran/31588, fortran/42051, - fortran/43954, fortran/44064, fortran/44660, fortran/44929, - fortran/45151, libstdc++/44963, middle-end/44133, middle-end/45034, - middle-end/45262, target/41089, target/43698, target/44805, - testsuite/43283, tree-optimization/44914, tree-optimization/45052, - tree-optimization/45109 - - fix VTA ICE in caller-save.c (#622060, PR debug/45259) -- fix up gdb libstdc++ pretty printing (#621717) -- fix up libgcj.so, libgij.so and libgcj-tools.so symlinks (#619156) - -* Fri Jul 30 2010 Jakub Jelinek 4.5.0-4 -- update from gcc-4_5-branch - - PRs c++/43016, c++/44996, c++/45008, c/45079, debug/45015, fortran/30668, - fortran/31346, fortran/34260, fortran/40011, testsuite/38946, - tree-optimization/44900, tree-optimization/44977 - - fix vectorizer ICE (#617492, PR tree-optimization/45047) -- use --enable-linker-build-id in configury instead of patching - --build-id support in -- VTA backports - - PRs debug/45055, rtl-optimization/45137, debug/45003, - debug/45006, bootstrap/45028 - -* Fri Jul 16 2010 Jakub Jelinek 4.5.0-3 -- update from gcc-4_5-branch - - PRs ada/43731, fortran/44773, pch/14940, testsuite/44325 - - fix vectorizer (#614375, #614814, PR tree-optimization/44886) -- fix fortran CHARACTER type SELECT CASE handling (PR fortran/40206) -- fix inline-asm check for auto-inc-dec operands (PR testsuite/44701) -- fix va_start on x86_64 (PR target/44942) - -* Fri Jul 9 2010 Jakub Jelinek 4.5.0-2 -- update from gcc-4_5-branch - - PRs c++/44703, fortran/44847, middle-end/41355, middle-end/44828, - target/43888, tree-optimization/44284 -- use DW_OP_const[48]u instead of DW_OP_addr before DW_OP_GNU_push_tls_address -- fix a multilib issue with *.py[oc] files in libstdc++ (#612742) -- fix up libgcj_bc.so - -* Wed Jul 7 2010 Jakub Jelinek 4.5.0-1 -- initial 4.5 package, using newly created redhat/gcc-4_5-branch +* Tue Jan 4 2011 Jakub Jelinek 4.6.0-0.1 +- new package diff --git a/gcc45-libstdc++-docs.patch b/gcc45-libstdc++-docs.patch deleted file mode 100644 index 2d18f44..0000000 --- a/gcc45-libstdc++-docs.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- 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 @@ -
-

The GNU C++ Library Documentation

- --

Copyright 2008, 2009 FSF

-+

Release 4.5.0

-+

Copyright 2008, 2009, 2010 FSF

- -

- 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. -

--The source-level documentation for the most recent releases can be --viewed online: --

  • -- for the 3.4 release -+The source-level documentation can be viewed here: -+

    -+

    - This generated HTML collection, as above, is also available for download in the libstdc++ snapshots directory at - <URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/>. diff --git a/gcc45-rh330771.patch b/gcc45-rh330771.patch deleted file mode 100644 index 1d91cc8..0000000 --- a/gcc45-rh330771.patch +++ /dev/null @@ -1,27 +0,0 @@ -2007-10-16 Jakub Jelinek - - * 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-c++-builtin-redecl.patch b/gcc46-c++-builtin-redecl.patch similarity index 100% rename from gcc45-c++-builtin-redecl.patch rename to gcc46-c++-builtin-redecl.patch diff --git a/gcc45-cloog-dl.patch b/gcc46-cloog-dl.patch similarity index 69% rename from gcc45-cloog-dl.patch rename to gcc46-cloog-dl.patch index a3ea1ea..eb09a22 100644 --- a/gcc45-cloog-dl.patch +++ b/gcc46-cloog-dl.patch @@ -1,73 +1,111 @@ -2010-07-01 Jakub Jelinek +2011-01-04 Jakub Jelinek - * Makefile.in (BACKENDLIBS): Link against -ldl instead of -lcloog -lppl. + * 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 . Reference libcloog and libppl symbols - through pointers in cloog_pointers__ variable. + (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New. + (graphite*.o): Adjust dependencies. + * graphite-cloog-compat.h: Include . 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. + * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename + stmt_for argument to stmt_fora. + * graphite-poly.h: Include graphite-cloog-util.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" +--- gcc/Makefile.in.jj 2011-01-03 13:44:14.163900902 +0100 ++++ gcc/Makefile.in 2011-01-04 17:48:53.588775911 +0100 +@@ -985,6 +985,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plug + PLUGIN_H = plugin.h $(GCC_PLUGIN_H) + PLUGIN_VERSION_H = plugin-version.h configargs.h + LIBFUNCS_H = libfuncs.h $(HASHTAB_H) ++GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h ++GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_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. */ + # + # Now figure out from those variables how to compile and link. +@@ -1038,7 +1040,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) + # Any system libraries needed just for GNAT. + SYSLIBS = @GNAT_LIBEXC@ +@@ -2671,39 +2673,39 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYS + $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h + graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ + $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \ +- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \ ++ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \ + graphite-clast-to-gimple.h graphite-sese-to-poly.h + graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ +- sese.h graphite-ppl.h graphite-poly.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) + graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \ + $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \ +- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \ +- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \ +- graphite-dependences.h graphite-cloog-compat.h ++ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \ ++ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \ ++ graphite-dependences.h + graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \ +- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h ++ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h + graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ +- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h + graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ +- sese.h graphite-ppl.h graphite-poly.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) + graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ +- sese.h graphite-ppl.h graphite-poly.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) + graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \ +- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \ +- graphite-dependences.h graphite-cloog-util.h ++ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ ++ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H) + graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ +- graphite-cloog-util.h graphite-ppl.h ++ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h + graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \ + coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \ +- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h ++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h + graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \ + $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \ +- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \ ++ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \ + graphite-sese-to-poly.h + tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \ +@@ -3488,6 +3490,11 @@ $(out_object_file): $(out_file) $(CONFIG + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ + $(out_file) $(OUTPUT_OPTION) - static void -@@ -210,6 +239,12 @@ graphite_initialize (void) - return false; - } - -+ if (!init_cloog_pointers ()) -+ { -+ sorry ("Graphite loop optimizations cannot be used"); -+ return false; -+ } ++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-cloog-compat.h.jj 2011-01-03 12:53:05.000000000 +0100 ++++ gcc/graphite-cloog-compat.h 2011-01-04 17:34:09.857757544 +0100 +@@ -272,4 +272,261 @@ static inline int cloog_matrix_nrows (Cl + return m->NbRows; + } + #endif /* CLOOG_ORG */ + - 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 +#define DYNSYMS \ + DYNSYM (cloog_block_alloc); \ @@ -172,7 +210,12 @@ + DYNSYM (stmt_for); \ + DYNSYM (stmt_guard); \ + DYNSYM (stmt_root); \ -+ DYNSYM (stmt_user); ++ DYNSYM (stmt_user); \ ++ DYNSYM (ppl_delete_Constraint_System); \ ++ DYNSYM (ppl_initialize); \ ++ DYNSYM (ppl_new_Constraint_System_from_Constraint); \ ++ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \ ++ DYNSYM (ppl_Polyhedron_affine_image); +extern struct +{ + bool inited; @@ -190,7 +233,12 @@ +#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) ++#ifndef CLOOG_ORG ++#undef cloog_loop_malloc ++#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) () ++#else +#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc) ++#endif +#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) @@ -198,15 +246,35 @@ +#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) ++#ifndef CLOOG_ORG ++#undef cloog_options_malloc ++#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) () ++#undef cloog_program_dump_cloog ++#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \ ++ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM) ++#undef cloog_program_extract_scalars ++#define cloog_program_extract_scalars(PROG, SCATT, OPT) \ ++ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT) ++#else +#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) ++#endif +#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) ++#ifndef CLOOG_ORG ++#undef cloog_program_scatter ++#define cloog_program_scatter(PROG, SCATT, OPT) \ ++ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT) ++#undef cloog_statement_alloc ++#define cloog_statement_alloc(STATE, INDEX) \ ++ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX) ++#else +#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter) +#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc) ++#endif +#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) @@ -285,66 +353,90 @@ +#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 ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System) ++#define ppl_initialize (*cloog_pointers__.p_ppl_initialize) ++#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint) ++#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System) ++#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image) + +#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" + #endif /* GRAPHITE_CLOOG_COMPAT_H */ +--- gcc/graphite.c.jj 2011-01-03 12:53:05.194056513 +0100 ++++ gcc/graphite.c 2011-01-04 16:18:32.385007767 +0100 +@@ -54,6 +54,35 @@ along with GCC; see the file COPYING3. + #include "graphite-clast-to-gimple.h" + #include "graphite-sese-to-poly.h" - /* Translates row ROW of the CloogMatrix MATRIX to a PPL Constraint. */ ++__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. */ ---- 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 void +@@ -199,6 +228,12 @@ graphite_initialize (void) + return false; + } + ++ if (!init_cloog_pointers ()) ++ { ++ sorry ("Graphite loop optimizations cannot be used"); ++ return false; ++ } ++ + scev_reset (); + recompute_all_dominators (); + initialize_original_copy_tables (); +--- gcc/graphite-clast-to-gimple.c.jj 2011-01-03 12:53:05.000000000 +0100 ++++ gcc/graphite-clast-to-gimple.c 2011-01-04 16:29:55.738007463 +0100 +@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stm + from STMT_FOR. */ 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) +-gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level, ++gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level, + tree lb_type, tree ub_type) { - 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); +--- gcc/graphite-poly.h.jj 2011-01-03 12:53:05.000000000 +0100 ++++ gcc/graphite-poly.h 2011-01-04 17:35:53.308788629 +0100 +@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3. + #ifndef GCC_GRAPHITE_POLY_H + #define GCC_GRAPHITE_POLY_H ++#include "graphite-cloog-util.h" ++ + typedef struct poly_dr *poly_dr_p; + DEF_VEC_P(poly_dr_p); + DEF_VEC_ALLOC_P (poly_dr_p, heap); diff --git a/gcc45-hack.patch b/gcc46-hack.patch similarity index 88% rename from gcc45-hack.patch rename to gcc46-hack.patch index 470627d..4689ce8 100644 --- a/gcc45-hack.patch +++ b/gcc46-hack.patch @@ -54,16 +54,6 @@ # 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 @@ @@ -89,14 +79,15 @@ 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: +@@ -516,6 +516,8 @@ multi-do: ADAFLAGS="$(ADAFLAGS) $${flags}" \ prefix="$(prefix)" \ exec_prefix="$(exec_prefix)" \ + mandir="$(mandir)" \ ++ infodir="$(infodir)" \ GCJFLAGS="$(GCJFLAGS) $${flags}" \ + GOCFLAGS="$(GOCFLAGS) $${flags}" \ CXXFLAGS="$(CXXFLAGS) $${flags}" \ - LIBCFLAGS="$(LIBCFLAGS) $${flags}" \ --- libjava/Makefile.am.jj 2010-07-09 11:17:33.729604090 +0200 +++ libjava/Makefile.am 2010-07-09 13:16:41.894375641 +0200 @@ -710,7 +710,8 @@ if USE_LIBGCJ_BC diff --git a/gcc45-i386-libgomp.patch b/gcc46-i386-libgomp.patch similarity index 100% rename from gcc45-i386-libgomp.patch rename to gcc46-i386-libgomp.patch diff --git a/gcc45-java-nomulti.patch b/gcc46-java-nomulti.patch similarity index 100% rename from gcc45-java-nomulti.patch rename to gcc46-java-nomulti.patch diff --git a/gcc45-libgomp-omp_h-multilib.patch b/gcc46-libgomp-omp_h-multilib.patch similarity index 100% rename from gcc45-libgomp-omp_h-multilib.patch rename to gcc46-libgomp-omp_h-multilib.patch diff --git a/gcc46-libstdc++-docs.patch b/gcc46-libstdc++-docs.patch new file mode 100644 index 0000000..a926da8 --- /dev/null +++ b/gcc46-libstdc++-docs.patch @@ -0,0 +1,36 @@ +--- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100 ++++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100 +@@ -12,7 +12,8 @@ +

    +

    The GNU C++ Library Documentation

    + +-

    Copyright 2008, 2009 FSF

    ++

    Release 4.6.0

    ++

    Copyright 2008, 2009, 2010, 2011 FSF

    + +

    + Permission is granted to copy, distribute and/or modify this +--- libstdc++-v3/doc/html/api.html.jj 2011-01-03 12:53:21.000000000 +0100 ++++ libstdc++-v3/doc/html/api.html 2011-01-04 18:12:01.672757784 +0100 +@@ -3,7 +3,7 @@ + API Documentation

    API Documentation

    +- The API documentation, rendered into HTML, can be viewed online: ++ The API documentation, rendered into HTML, can be viewed here: +

    • ++ for the 4.6 release, local ++ ++

    • + for the 3.4 release + +

    • diff --git a/gcc45-libtool-no-rpath.patch b/gcc46-libtool-no-rpath.patch similarity index 100% rename from gcc45-libtool-no-rpath.patch rename to gcc46-libtool-no-rpath.patch diff --git a/gcc45-no-add-needed.patch b/gcc46-no-add-needed.patch similarity index 62% rename from gcc45-no-add-needed.patch rename to gcc46-no-add-needed.patch index 23704d3..debd655 100644 --- a/gcc45-no-add-needed.patch +++ b/gcc46-no-add-needed.patch @@ -6,9 +6,9 @@ * 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 +--- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100 ++++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100 +@@ -438,7 +438,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) @@ -17,9 +17,9 @@ #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 { \ +--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100 ++++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100 +@@ -82,7 +82,7 @@ do { \ Signalize that because we have fde-glibc, we don't need all C shared libs linked against -lgcc_s. */ #undef LINK_EH_SPEC @@ -28,9 +28,9 @@ #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 +--- gcc/config/linux.h.jj 2011-01-03 12:53:03.739057299 +0100 ++++ gcc/config/linux.h 2011-01-04 18:14:10.932814884 +0100 +@@ -102,7 +102,7 @@ see the files COPYING3 and COPYING.RUNTI } while (0) #if defined(HAVE_LD_EH_FRAME_HDR) @@ -38,11 +38,11 @@ +#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " #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 "}}}" + #undef LINK_GCC_C_SEQUENCE_SPEC +--- gcc/config/rs6000/sysv4.h.jj 2011-01-03 13:02:18.255994215 +0100 ++++ gcc/config/rs6000/sysv4.h 2011-01-04 18:14:10.933888871 +0100 +@@ -869,7 +869,7 @@ extern int fixuplabelno; + -dynamic-linker " LINUX_DYNAMIC_LINKER "}}" #if defined(HAVE_LD_EH_FRAME_HDR) -# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " diff --git a/gcc45-ppc32-retaddr.patch b/gcc46-ppc32-retaddr.patch similarity index 100% rename from gcc45-ppc32-retaddr.patch rename to gcc46-ppc32-retaddr.patch diff --git a/gcc45-pr33763.patch b/gcc46-pr33763.patch similarity index 100% rename from gcc45-pr33763.patch rename to gcc46-pr33763.patch diff --git a/gcc45-pr38757.patch b/gcc46-pr38757.patch similarity index 56% rename from gcc45-pr38757.patch rename to gcc46-pr38757.patch index d550988..5e6bf57 100644 --- a/gcc45-pr38757.patch +++ b/gcc46-pr38757.patch @@ -11,11 +11,11 @@ (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; +--- gcc/langhooks.h.jj 2011-01-03 12:53:05.125745450 +0100 ++++ gcc/langhooks.h 2011-01-04 17:59:43.166744926 +0100 +@@ -467,6 +467,10 @@ struct lang_hooks + gimplification. */ + bool deep_unsharing; + /* Return year of the source language standard version if the FE supports + multiple versions of the standard. */ @@ -24,42 +24,29 @@ /* 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 - -@@ -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 +--- gcc/langhooks-def.h.jj 2011-01-03 12:53:05.000000000 +0100 ++++ gcc/langhooks-def.h 2011-01-04 18:00:44.858851030 +0100 +@@ -118,6 +118,7 @@ extern void lhd_omp_firstprivatize_type_ + #define LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS NULL #define LANG_HOOKS_EH_USE_CXA_END_CLEANUP false + #define LANG_HOOKS_DEEP_UNSHARING 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, \ +@@ -307,7 +308,8 @@ extern void lhd_end_section (void); LANG_HOOKS_EH_RUNTIME_TYPE, \ + LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS, \ LANG_HOOKS_EH_USE_CXA_END_CLEANUP, \ -+ LANG_HOOKS_SOURCE_LANGUAGE, \ +- LANG_HOOKS_DEEP_UNSHARING \ ++ LANG_HOOKS_DEEP_UNSHARING, \ ++ 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. +--- gcc/c-lang.c.jj 2011-01-03 12:53:05.376056936 +0100 ++++ gcc/c-lang.c 2011-01-04 17:59:43.167743798 +0100 +@@ -36,6 +36,12 @@ along with GCC; see the file COPYING3. enum c_language_kind c_language = clk_c; @@ -72,7 +59,7 @@ /* 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; +@@ -43,6 +49,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 @@ -81,22 +68,22 @@ /* 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, +--- gcc/dwarf2out.c.jj 2011-01-03 12:53:05.102056475 +0100 ++++ gcc/dwarf2out.c 2011-01-04 18:03:14.534151763 +0100 +@@ -17650,9 +17650,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) +- if (get_AT_unsigned (comp_unit_die (), DW_AT_language) == DW_LANG_C89 +- && prototype_p (func_type)) - add_AT_flag (die, DW_AT_prototyped, 1); -+ switch (get_AT_unsigned (comp_unit_die, DW_AT_language)) ++ 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) ++ if (prototype_p (func_type) != NULL) + add_AT_flag (die, DW_AT_prototyped, 1); + break; + default: @@ -105,7 +92,7 @@ } /* Add an 'abstract_origin' attribute below a given DIE. The DIE is found -@@ -19246,6 +19255,10 @@ gen_compile_unit_die (const char *filena +@@ -19875,6 +19884,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; diff --git a/gcc46-pr46890.patch b/gcc46-pr46890.patch new file mode 100644 index 0000000..7afb3f6 --- /dev/null +++ b/gcc46-pr46890.patch @@ -0,0 +1,110 @@ +2010-12-17 Nathan Froyd + + PR c++/46890 + * parser.c (cp_parser_class_specifier): Add RID_TYPEDEF to + lookahead logic and fix setting of want_semicolon. + + * g++.dg/pr46890.C: New test. + * g++.dg/parse/semicolon.C: Add new cases. + +--- gcc/cp/parser.c ++++ gcc/cp/parser.c +@@ -16959,17 +16959,16 @@ cp_parser_class_specifier (cp_parser* parser) + static const var = ...; */ + case CPP_KEYWORD: + if (keyword_is_storage_class_specifier (token->keyword) +- || keyword_is_type_qualifier (token->keyword)) ++ || keyword_is_type_qualifier (token->keyword) ++ || token->keyword == RID_TYPEDEF) + { + cp_token *lookahead = cp_lexer_peek_nth_token (parser->lexer, 2); + +- if (lookahead->type == CPP_KEYWORD +- && !keyword_begins_type_specifier (lookahead->keyword)) +- want_semicolon = false; +- else if (lookahead->type == CPP_NAME) +- /* Handling user-defined types here would be nice, but +- very tricky. */ +- want_semicolon = false; ++ /* Handling user-defined types here would be nice, but very ++ tricky. */ ++ want_semicolon ++ = (lookahead->type == CPP_KEYWORD ++ && keyword_begins_type_specifier (lookahead->keyword)); + } + break; + default: +--- gcc/testsuite/g++.dg/parse/semicolon3.C ++++ gcc/testsuite/g++.dg/parse/semicolon3.C +@@ -62,6 +62,48 @@ autotest (void) + return ok10.a; + } + ++struct OK11 ++{ ++ int a; ++} // no complaints ++ const *ok11_var; ++ ++struct OK12 ++{ ++ int a; ++} // no complaints ++ const &ok12_var = *(new OK12()); ++ ++struct OK13 ++{ ++ int a; ++} // no complaints ++ static *ok13_var; ++ ++class OK14 ++{ ++ struct OK14sub ++ { ++ int a; ++ } // no complaints ++ static &ok14_var; ++}; ++ ++class OK15 ++{ ++ int a; ++} typedef tOK15; ++ ++class OK16 ++{ ++ int a; ++} typedef *pOK16; ++ ++class OK17 ++{ ++ int a; ++} typedef &rOK16; ++ + struct E1 + { + int a; +@@ -196,6 +238,13 @@ class E17 + mutable int i; + } // { dg-error "after class definition" } + ++class E18 ++{ ++ int a; ++} // { dg-error "after class definition" } ++ ++typedef int E18int; ++ + /* This was the original test from the PR. */ + + class C0 +--- gcc/testsuite/g++.dg/pr46890.C ++++ gcc/testsuite/g++.dg/pr46890.C +@@ -0,0 +1,6 @@ ++// PR c++/46890 ++// { dg-do compile } ++ ++struct MdatResource { ++const char *mdatAlloc; ++} const *_resource; diff --git a/gcc46-pr47106-revert.patch b/gcc46-pr47106-revert.patch new file mode 100644 index 0000000..9940f65 --- /dev/null +++ b/gcc46-pr47106-revert.patch @@ -0,0 +1,31 @@ +Temporarily revert: + 2011-01-21 Alexandre Oliva + + PR debug/47106 + * cfgexpand.c (account_used_vars_for_block): Only account vars + that are annotated as used. + (estimated_stack_frame_size): Don't set TREE_USED. + +--- gcc/cfgexpand.c (revision 169093) ++++ gcc/cfgexpand.c (revision 169092) +@@ -1325,7 +1325,7 @@ account_used_vars_for_block (tree block, + + /* Expand all variables at this level. */ + for (t = BLOCK_VARS (block); t ; t = DECL_CHAIN (t)) +- if (var_ann (t) && var_ann (t)->used) ++ if (TREE_USED (t)) + size += expand_one_var (t, toplevel, false); + + /* Expand all variables at containing levels. */ +@@ -1389,10 +1389,9 @@ estimated_stack_frame_size (tree decl) + + FOR_EACH_LOCAL_DECL (cfun, ix, var) + { +- /* TREE_USED marks local variables that do not appear in lexical +- blocks. We don't want to expand those that do twice. */ + if (TREE_USED (var)) + size += expand_one_var (var, true, false); ++ TREE_USED (var) = 1; + } + size += account_used_vars_for_block (outer_block, true); + diff --git a/gcc46-rh330771.patch b/gcc46-rh330771.patch new file mode 100644 index 0000000..102730f --- /dev/null +++ b/gcc46-rh330771.patch @@ -0,0 +1,27 @@ +2007-10-16 Jakub Jelinek + + * 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 +@@ -550,7 +550,7 @@ libgcj_tools_la_LDFLAGS = -rpath $(toole + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) \ + $(LIBJAVA_LDFLAGS_LIBMATH) + +-libgcj_tools_la_LIBADD = libgcj.la ++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la + libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec \ + $(libgcj_tools_la_version_dep) + if BUILD_SUBLIBS +--- libjava/Makefile.in.jj 2009-05-06 08:14:49.000000000 +0200 ++++ libjava/Makefile.in 2009-05-06 10:27:18.000000000 +0200 +@@ -1110,7 +1110,7 @@ libgcj_tools_la_LDFLAGS = -rpath $(toole + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) \ + $(LIBJAVA_LDFLAGS_LIBMATH) + +-libgcj_tools_la_LIBADD = libgcj.la ++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la + libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec \ + $(libgcj_tools_la_version_dep) $(am__append_19) + libgcj_tools_la_LINK = $(LIBLINK) $(libgcj_tools_la_LDFLAGS) \ diff --git a/gcc45-sparc-config-detection.patch b/gcc46-sparc-config-detection.patch similarity index 57% rename from gcc45-sparc-config-detection.patch rename to gcc46-sparc-config-detection.patch index d94b17d..cd36e70 100644 --- a/gcc45-sparc-config-detection.patch +++ b/gcc46-sparc-config-detection.patch @@ -1,21 +1,21 @@ --- 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" +@@ -2483,7 +2483,7 @@ sparc-*-rtems*) + tmake_file="sparc/t-elf sparc/t-crtfm t-rtems" + extra_parts="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" +-sparc-*-linux*) ++sparc-*-linux* | sparcv9-*-linux*) + tm_file="${tm_file} dbxelf.h elfos.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 + case ${target} in +@@ -2577,7 +2577,7 @@ sparc64-*-rtems*) + tmake_file="${tmake_file} sparc/t-crtfm t-rtems" + extra_parts="crtbegin.o crtend.o" ;; --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" +-sparc64-*-linux*) ++sparc64*-*-linux*) + tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.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 diff --git a/gcc46-unwind-debughook-sdt.patch b/gcc46-unwind-debughook-sdt.patch new file mode 100644 index 0000000..3b87e39 --- /dev/null +++ b/gcc46-unwind-debughook-sdt.patch @@ -0,0 +1,88 @@ +2011-01-14 Tom Tromey + + * unwind-dw2.c: Include sys/sdt.h if it exists. + (_Unwind_DebugHook): Use STAP_PROBE2. + * config.in, configure: Rebuild. + * configure.ac: Check for sys/sdt.h. + +--- gcc/configure.ac ++++ gcc/configure.ac +@@ -4313,6 +4313,16 @@ if test x$gcc_cv_libc_provides_ssp = xyes; then + [Define if your target C library provides stack protector support]) + fi + ++# Test for on the target. ++GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H]) ++AC_MSG_CHECKING(sys/sdt.h in the target C library) ++have_sys_sdt_h=no ++if test -f $target_header_dir/sys/sdt.h; then ++ AC_DEFINE(HAVE_SYS_SDT_H, 1, ++ [Define if your target C library provides sys/sdt.h]) ++fi ++AC_MSG_RESULT($have_sys_sdt_h) ++ + # Check if TFmode long double should be used by default or not. + # Some glibc targets used DFmode long double, but with glibc 2.4 + # and later they can use TFmode. +--- gcc/unwind-dw2.c ++++ gcc/unwind-dw2.c +@@ -37,6 +37,10 @@ + #include "gthr.h" + #include "unwind-dw2.h" + ++#ifdef HAVE_SYS_SDT_H ++#include ++#endif ++ + #ifndef __USING_SJLJ_EXCEPTIONS__ + + #ifndef STACK_GROWS_DOWNWARD +@@ -1493,7 +1497,13 @@ static void + _Unwind_DebugHook (void *cfa __attribute__ ((__unused__)), + void *handler __attribute__ ((__unused__))) + { ++ /* We only want to use stap probes starting with v3. Earlier ++ versions added too much startup cost. */ ++#if defined (HAVE_SYS_SDT_H) && defined (STAP_PROBE2) && _SDT_NOTE_TYPE >= 3 ++ STAP_PROBE2 (libgcc, unwind, cfa, handler); ++#else + asm (""); ++#endif + } + + /* Install TARGET into CURRENT so that we can return to it. This is a + +--- gcc/config.in.jj 2011-01-22 10:21:47.000000000 +0100 ++++ gcc/config.in 2011-01-22 11:10:39.000000000 +0100 +@@ -1405,6 +1407,9 @@ + #endif + + ++/* Define if your target C library provides sys/sdt.h */ ++#undef HAVE_SYS_SDT_H ++ + /* Define to 1 if you have the header file. */ + #ifndef USED_FOR_TARGET + #undef HAVE_SYS_STAT_H +--- gcc/configure.jj 2011-01-22 10:20:55.000000000 +0100 ++++ gcc/configure 2011-01-22 11:10:34.990648298 +0100 +@@ -25757,6 +25757,19 @@ $as_echo "#define TARGET_LIBC_PROVIDES_S + + fi + ++# Test for on the target. ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5 ++$as_echo_n "checking sys/sdt.h in the target C library... " >&6; } ++have_sys_sdt_h=no ++if test -f $target_header_dir/sys/sdt.h; then ++ ++$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5 ++$as_echo "$have_sys_sdt_h" >&6; } ++ + # Check if TFmode long double should be used by default or not. + # Some glibc targets used DFmode long double, but with glibc 2.4 + # and later they can use TFmode. diff --git a/sources b/sources index ca46f3b..24dfdb2 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -c853e1a8fa92ffe0f95601fcedae81bf gcc-4.5.1-20101130.tar.bz2 +89ee1132792194e62424dee99a780c60 gcc-4.6.0-20110122.tar.bz2