4.6.0-0.2

This commit is contained in:
Jakub Jelinek 2011-01-22 11:26:14 +01:00
parent 20b1a2c231
commit 759d90703d
22 changed files with 666 additions and 436 deletions

2
.gitignore vendored
View File

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

282
gcc.spec
View File

@ -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 <jakub@redhat.com> 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 <jakub@redhat.com> 4.6.0-0.2
- update from the trunk
- PRs bootstrap/47055, bootstrap/47187, bootstrap/47215, c++/33558,
c++/45520, c++/46552, c++/46658, c++/46688, c++/46903, c++/46977,
c++/47022, c++/47041, c++/47067, c++/47213, c++/47218, c++/47289,
c++/47291, c++/47303, c++/47388, c/47150, debug/46240, debug/46583,
debug/46704, debug/46724, debug/46955, debug/47079, debug/47106,
debug/47209, debug/47283, debug/47402, debug/PR46973, driver/42445,
driver/47244, fortran/33117, fortran/38536, fortran/41580,
fortran/45777, fortran/45848, fortran/46017, fortran/46313,
fortran/46402, fortran/46405, fortran/46416, fortran/46478,
fortran/46625, fortran/46817, fortran/46896, fortran/47024,
fortran/47051, fortran/47174, fortran/47177, fortran/47180,
fortran/47182, fortran/47189, fortran/47194, fortran/47195,
fortran/47204, fortran/47224, fortran/47240, fortran/47260,
fortran/47268, fortran/47295, fortran/47327, fortran/47331,
fortran/47377, fortran/47394, gcc/46902, libfortran/46267,
libfortran/47296, libfortran/47322, libgfortran/47154,
libgfortran/47296, libstdc++/36104, libstdc++/47045, libstdc++/47145,
libstdc++/47185, libstdc++/47320, libstdc++/47321, libstdc++/47323,
libstdc++/47354, lto/45375, lto/45721, lto/46083, lto/46760,
lto/47162, lto/47188, lto/47222, lto/47225, lto/47259, lto/47264,
middle-end/32511, middle-end/45235, middle-end/45566,
middle-end/46823, middle-end/46894, middle-end/47281,
middle-end/47370, middle-end/47395, objc/45989, objc/47078,
objc/47232, objc/47314, other/45915, other/46946, preprocessor/39213,
rtl-optimization/39077, rtl-optimization/41619,
rtl-optimization/45352, rtl-optimization/47216,
rtl-optimization/47299, rtl-optimization/47337,
rtl-optimization/47366, target/19162, target/38118, target/43309,
target/45258, target/46037, target/46655, target/46997, target/47201,
target/47219, target/47251, target/47318, testsuite/33033,
testsuite/41146, testsuite/45342, testsuite/46230, testsuite/46912,
testsuite/47325, testsuite/47371, tree-optimization/45934,
tree-optimization/45967, tree-optimization/46021,
tree-optimization/46076, tree-optimization/46130,
tree-optimization/46302, tree-optimization/46367,
tree-optimization/47005, tree-optimization/47053,
tree-optimization/47056, tree-optimization/47086,
tree-optimization/47139, tree-optimization/47141,
tree-optimization/47167, tree-optimization/47179,
tree-optimization/47233, tree-optimization/47234,
tree-optimization/47239, tree-optimization/47276,
tree-optimization/47280, tree-optimization/47286,
tree-optimization/47290, tree-optimization/47313,
tree-optimization/47355, tree-optimization/47365,
tree-optimization/47391, tree-optmization/46469
- add systemtap probe to _Unwind_DebugHook
* Fri Nov 12 2010 Jakub Jelinek <jakub@redhat.com> 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 <jakub@redhat.com> 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 <jakub@redhat.com> 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 <dennis@ausil.us> 4.5.1-2
- enable cloog on sparc arches
* Thu Aug 12 2010 Jakub Jelinek <jakub@redhat.com> 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 <jakub@redhat.com> 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 <jakub@redhat.com> 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 <jakub@redhat.com> 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 <jakub@redhat.com> 4.5.0-1
- initial 4.5 package, using newly created redhat/gcc-4_5-branch
* Tue Jan 4 2011 Jakub Jelinek <jakub@redhat.com> 4.6.0-0.1
- new package

View File

@ -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 @@
<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">&lt;URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/&gt;</code>.

View File

@ -1,27 +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
@@ -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

View File

@ -1,73 +1,111 @@
2010-07-01 Jakub Jelinek <jakub@redhat.com>
2011-01-04 Jakub Jelinek <jakub@redhat.com>
* 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 <dlfcn.h>. 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 <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.
* 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 <dlfcn.h>
+#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);

View File

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

View File

@ -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 @@
<div>
<h1>The GNU C++ Library Documentation</h1>
-<p>Copyright 2008, 2009 FSF</p>
+<p>Release 4.6.0</p>
+<p>Copyright 2008, 2009, 2010, 2011 FSF</p>
<p>
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 @@
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>API Documentation</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk02.html" title="" /><link rel="prev" href="bk02.html" title="" /><link rel="next" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr /></div><div class="article" title="API Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="api"></a>API Documentation</h2></div><div><p class="copyright">Copyright ©
2008
,
- 2010
+ 2010, 2011
<a class="ulink" href="http://www.fsf.org/" target="_top">FSF
</a>
@@ -19,8 +19,11 @@
member functions for the library classes, finding out what is in a
particular include file, looking at inheritance diagrams, etc.
</p><p>
- The API documentation, rendered into HTML, can be viewed online:
+ The API documentation, rendered into HTML, can be viewed here:
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+ <a class="ulink" href="api/index.html" target="_top">for the 4.6 release, local
+ </a>
+ </p></li><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
</a>
</p></li><li class="listitem"><p>

View File

@ -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} "

View File

@ -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 <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
--- 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;

110
gcc46-pr46890.patch Normal file
View File

@ -0,0 +1,110 @@
2010-12-17 Nathan Froyd <froydnj@codesourcery.com>
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 <type> 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;

View File

@ -0,0 +1,31 @@
Temporarily revert:
2011-01-21 Alexandre Oliva <aoliva@redhat.com>
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);

27
gcc46-rh330771.patch Normal file
View File

@ -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
@@ -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) \

View File

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

View File

@ -0,0 +1,88 @@
2011-01-14 Tom Tromey <tromey@redhat.com>
* 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 <sys/sdt.h> 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 <sys/sdt.h>
+#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 <sys/stat.h> 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 <sys/sdt.h> 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.

View File

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