Compare commits

...

24 Commits

Author SHA1 Message Date
Jakub Jelinek 5f74d245e0 4.4.4-11 2010-07-07 10:18:09 +00:00
Jakub Jelinek 3828d4db97 4.4.4-10 2010-06-30 07:26:40 +00:00
Jakub Jelinek e308cb012d 4.4.4-9 2010-06-24 20:17:17 +00:00
Jakub Jelinek 462a694956 4.4.4-8 2010-06-11 08:19:52 +00:00
Jakub Jelinek 3442905dd8 4.4.4-7 2010-06-08 09:59:56 +00:00
Jakub Jelinek 76b93c38a2 4.4.4-5 2010-05-25 22:54:27 +00:00
Jakub Jelinek a18c3ea684 4.4.4-4 2010-05-18 21:15:57 +00:00
Jakub Jelinek 7eb4bda32b 4.4.4-3 2010-05-14 21:50:25 +00:00
Jakub Jelinek abdbcec5b0 4.4.4-2 2010-05-03 20:25:54 +00:00
Jakub Jelinek 4a75f3b630 4.4.4-1 2010-04-30 20:06:37 +00:00
Jakub Jelinek 2e32ee0420 4.4.3-19 2010-04-27 19:29:04 +00:00
Jakub Jelinek 8e94c30a0c 4.4.3-18 2010-04-22 09:24:33 +00:00
Jakub Jelinek d3daf567b2 4.4.3-16 2010-04-09 09:08:10 +00:00
Jakub Jelinek c7ea8b534d 4.4.3-15 2010-04-07 14:24:11 +00:00
Jakub Jelinek 3ac313c7c8 4.4.3-15 2010-04-07 13:10:57 +00:00
Jakub Jelinek 04b13b88d4 4.4.3-14 2010-04-01 15:05:15 +00:00
Jakub Jelinek 5f4cc7d370 4.4.3-13 2010-03-27 14:50:40 +00:00
Jakub Jelinek 60625efada 4.4.3-12 2010-03-25 15:34:19 +00:00
Jakub Jelinek 6df01761ec 4.4.3-11 2010-03-22 16:01:05 +00:00
Jakub Jelinek f6f9558cad 4.4.3-10 2010-03-16 16:10:16 +00:00
Jakub Jelinek 1ba2e86ef4 4.4.3-9 2010-03-09 20:54:14 +00:00
Jakub Jelinek 44c3be6bae 4.4.3-8 2010-02-27 00:21:56 +00:00
Jakub Jelinek f3a89dbfed 4.4.3-7 2010-02-21 23:03:20 +00:00
Jesse Keating 420e395efa Initialize branch F-13 for gcc 2010-02-17 01:23:17 +00:00
16 changed files with 763 additions and 320 deletions

View File

@ -1,2 +1,2 @@
fastjar-0.97.tar.gz
gcc-4.4.3-20100211.tar.bz2
gcc-4.4.4-20100707.tar.bz2

1
branch Normal file
View File

@ -0,0 +1 @@
F-13

View File

@ -0,0 +1,14 @@
2010-03-01 Richard Guenther <rguenther@suse.de>
* jartool.c (read_entries): Properly zero-terminate filename.
--- fastjar-0.97/jartool.c 6 Sep 2009 22:16:00 -0000 1.59
+++ fastjar-0.97/jartool.c 1 Mar 2010 15:38:43 -0000 1.60
@@ -790,6 +790,7 @@ int read_entries (int fd)
progname, jarfile);
return 1;
}
+ ze->filename[len] = '\0';
len = UNPACK_UB4(header, CEN_EFLEN);
len += UNPACK_UB4(header, CEN_COMLEN);
if (lseek (fd, len, SEEK_CUR) == -1)

102
fastjar-CVE-2010-0831.patch Normal file
View File

@ -0,0 +1,102 @@
2010-06-10 Jakub Jelinek <jakub@redhat.com>
Dan Rosenberg <dan.j.rosenberg@gmail.com>
* jartool.c (extract_jar): Fix up checks for traversal to parent
directories, disallow absolute paths, make the code slightly more
efficient.
--- fastjar-0.97/jartool.c.jj 2009-09-07 00:10:47.000000000 +0200
+++ fastjar-0.97/jartool.c 2010-06-08 20:00:29.000000000 +0200
@@ -1730,7 +1730,17 @@ int extract_jar(int fd, const char **fil
struct stat sbuf;
int depth = 0;
- tmp_buff = malloc(sizeof(char) * strlen((const char *)filename));
+ if(*filename == '/'){
+ fprintf(stderr, "Absolute path names are not allowed.\n");
+ exit(EXIT_FAILURE);
+ }
+
+ tmp_buff = malloc(strlen((const char *)filename));
+
+ if(tmp_buff == NULL) {
+ fprintf(stderr, "Out of memory.\n");
+ exit(EXIT_FAILURE);
+ }
for(;;){
const ub1 *idx = (const unsigned char *)strchr((const char *)start, '/');
@@ -1738,25 +1748,28 @@ int extract_jar(int fd, const char **fil
if(idx == NULL)
break;
else if(idx == start){
+ tmp_buff[idx - filename] = '/';
start++;
continue;
}
- start = idx + 1;
- strncpy(tmp_buff, (const char *)filename, (idx - filename));
- tmp_buff[(idx - filename)] = '\0';
+ memcpy(tmp_buff + (start - filename), (const char *)start, (idx - start));
+ tmp_buff[idx - filename] = '\0';
#ifdef DEBUG
printf("checking the existance of %s\n", tmp_buff);
#endif
- if(strcmp(tmp_buff, "..") == 0){
+ if(idx - start == 2 && memcmp(start, "..", 2) == 0){
--depth;
if (depth < 0){
fprintf(stderr, "Traversal to parent directories during unpacking!\n");
exit(EXIT_FAILURE);
}
- } else if (strcmp(tmp_buff, ".") != 0)
+ } else if (idx - start != 1 || *start != '.')
++depth;
+
+ start = idx + 1;
+
if(stat(tmp_buff, &sbuf) < 0){
if(errno != ENOENT)
exit_on_error("stat");
@@ -1765,6 +1778,7 @@ int extract_jar(int fd, const char **fil
#ifdef DEBUG
printf("Directory exists\n");
#endif
+ tmp_buff[idx - filename] = '/';
continue;
}else {
fprintf(stderr, "Hmmm.. %s exists but isn't a directory!\n",
@@ -1781,10 +1795,11 @@ int extract_jar(int fd, const char **fil
if(verbose && handle)
printf("%10s: %s/\n", "created", tmp_buff);
+ tmp_buff[idx - filename] = '/';
}
/* only a directory */
- if(strlen((const char *)start) == 0)
+ if(*start == '\0')
dir = TRUE;
#ifdef DEBUG
@@ -1792,7 +1807,7 @@ int extract_jar(int fd, const char **fil
#endif
/* If the entry was just a directory, don't write to file, etc */
- if(strlen((const char *)start) == 0)
+ if(*start == '\0')
f_fd = -1;
free(tmp_buff);
@@ -1876,7 +1891,8 @@ int extract_jar(int fd, const char **fil
exit(EXIT_FAILURE);
}
- close(f_fd);
+ if (f_fd != -1)
+ close(f_fd);
if(verbose && dir == FALSE && handle)
printf("%10s: %s\n",

27
fastjar-man.patch Normal file
View File

@ -0,0 +1,27 @@
2010-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
* Makefile.am (POD2MAN): Provide --date from ChangeLog.
* Makefile.in: Regenerate.
--- fastjar-0.97/Makefile.am.jj 2008-10-16 04:24:55.000000000 -0400
+++ fastjar-0.97/Makefile.am 2010-06-21 09:29:41.021398000 -0400
@@ -39,7 +39,7 @@ EXTRA_DIST = \
texi2pod.pl
TEXI2POD = perl $(srcdir)/texi2pod.pl
-POD2MAN = pod2man --center="GNU" --release=@VERSION@
+POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog)
.pod.1:
-($(POD2MAN) --section=1 $< > $(@).T$$$$ && \
--- fastjar-0.97/Makefile.in.jj 2008-10-16 04:15:16.000000000 -0400
+++ fastjar-0.97/Makefile.in 2010-06-21 09:30:15.882810000 -0400
@@ -515,7 +515,7 @@ EXTRA_DIST = \
texi2pod.pl
TEXI2POD = perl $(srcdir)/texi2pod.pl
-POD2MAN = pod2man --center="GNU" --release=@VERSION@
+POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog)
#SPLINT_FLAGS=-I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H +posixlib +weak
SPLINT_FLAGS = -I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H -DPRIx32= -warnposix +weak

427
gcc.spec
View File

@ -1,12 +1,12 @@
%global DATE 20100211
%global SVNREV 156726
%global gcc_version 4.4.3
%global DATE 20100707
%global SVNREV 161902
%global gcc_version 4.4.4
# 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 11
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%if 0%{?fedora} >= 13
%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
%global include_gappletviewer 0
%else
%global include_gappletviewer 1
@ -164,22 +164,25 @@ Patch4: gcc44-java-nomulti.patch
Patch5: gcc44-ppc32-retaddr.patch
Patch6: gcc44-pr33763.patch
Patch7: gcc44-rh330771.patch
Patch8: gcc44-rh341221.patch
Patch9: gcc44-java-debug-iface-type.patch
Patch10: gcc44-i386-libgomp.patch
Patch11: gcc44-sparc-config-detection.patch
Patch12: gcc44-libgomp-omp_h-multilib.patch
Patch13: gcc44-libtool-no-rpath.patch
Patch14: gcc44-cloog-dl.patch
Patch16: gcc44-unwind-debug-hook.patch
Patch17: gcc44-pr38757.patch
Patch18: gcc44-libstdc++-docs.patch
Patch19: gcc44-ppc64-aixdesc.patch
Patch20: gcc44-max-vartrack-size.patch
Patch21: gcc44-no-add-needed.patch
Patch8: gcc44-i386-libgomp.patch
Patch9: gcc44-sparc-config-detection.patch
Patch10: gcc44-libgomp-omp_h-multilib.patch
Patch11: gcc44-libtool-no-rpath.patch
Patch12: gcc44-cloog-dl.patch
Patch13: gcc44-unwind-debug-hook.patch
Patch14: gcc44-pr38757.patch
Patch15: gcc44-libstdc++-docs.patch
Patch16: gcc44-ppc64-aixdesc.patch
Patch17: gcc44-no-add-needed.patch
Patch18: gcc44-pr44542.patch
Patch19: gcc44-rh610785.patch
Patch20: gcc44-rh578382.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
Patch1002: fastjar-0.97-filename0.patch
Patch1003: fastjar-CVE-2010-0831.patch
Patch1004: fastjar-man.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@ -243,6 +246,15 @@ This is the GNU implementation of the standard C++ libraries. This
package includes the header files and libraries needed for C++
development. This includes rewritten implementation of STL.
%package -n libstdc++-static
Summary: Static libraries for the GNU standard C++ library
Group: Development/Libraries
Requires: libstdc++-devel = %{version}-%{release}
Autoreq: true
%description -n libstdc++-static
Static libraries for the GNU standard C++ library.
%package -n libstdc++-docs
Summary: Documentation for the GNU standard C++ library
Group: Development/Libraries
@ -330,13 +342,21 @@ Requires: libmudflap = %{version}-%{release}
Requires: gcc = %{version}-%{release}
%description -n libmudflap-devel
This package contains headers and static libraries for building
mudflap-instrumented programs.
This package contains headers for building mudflap-instrumented programs.
To instrument a non-threaded program, add -fmudflap
option to GCC and when linking add -lmudflap, for threaded programs
also add -fmudflapth and -lmudflapth.
%package -n libmudflap-static
Summary: Static libraries for mudflap support
Group: Development/Libraries
Requires: libmudflap-devel = %{version}-%{release}
%description -n libmudflap-static
This package contains static libraries for building mudflap-instrumented
programs.
%package java
Summary: Java support for GCC
Group: Development/Languages
@ -460,6 +480,15 @@ Autoreq: true
GNAT is a GNU Ada 95 front-end to GCC. This package includes libraries,
which are required to compile with the GNAT.
%package -n libgnat-static
Summary: GNU Ada 95 static libraries
Group: System Environment/Libraries
Requires: libgnat-devel = %{version}-%{release}
Autoreq: true
%description -n libgnat-static
GNAT is a GNU Ada 95 front-end to GCC. This package includes static libraries.
%prep
%setup -q -n gcc-%{version}-%{DATE}
%patch0 -p0 -b .hack~
@ -470,25 +499,25 @@ which are required to compile with the GNAT.
%patch5 -p0 -b .ppc32-retaddr~
%patch6 -p0 -b .pr33763~
%patch7 -p0 -b .rh330771~
%patch8 -p0 -b .rh341221~
%patch9 -p0 -b .java-debug-iface-type~
%patch10 -p0 -b .i386-libgomp~
%patch11 -p0 -b .sparc-config-detection~
%patch12 -p0 -b .libgomp-omp_h-multilib~
%patch13 -p0 -b .libtool-no-rpath~
%patch8 -p0 -b .i386-libgomp~
%patch9 -p0 -b .sparc-config-detection~
%patch10 -p0 -b .libgomp-omp_h-multilib~
%patch11 -p0 -b .libtool-no-rpath~
%if %{build_cloog}
%patch14 -p0 -b .cloog-dl~
%patch12 -p0 -b .cloog-dl~
%endif
%patch16 -p0 -b .unwind-debug-hook~
%patch17 -p0 -b .pr38757~
%patch13 -p0 -b .unwind-debug-hook~
%patch14 -p0 -b .pr38757~
%if %{build_libstdcxx_docs}
%patch18 -p0 -b .libstdc++-docs~
%patch15 -p0 -b .libstdc++-docs~
%endif
%patch19 -p0 -b .ppc64-aixdesc~
%patch20 -p0 -b .max-vartrack-size~
%patch16 -p0 -b .ppc64-aixdesc~
%if 0%{?fedora} >= 13
%patch21 -p0 -b .no-add-needed~
%patch17 -p0 -b .no-add-needed~
%endif
%patch18 -p0 -b .pr44542~
%patch19 -p0 -b .rh610785~
%patch20 -p0 -b .rh578382~
# This testcase doesn't compile.
rm libjava/testsuite/libjava.lang/PR35020*
@ -497,12 +526,15 @@ tar xzf %{SOURCE4}
%patch1000 -p0 -b .fastjar-0.97-segfault~
%patch1001 -p0 -b .fastjar-0.97-len1~
%patch1002 -p0 -b .fastjar-0.97-filename0~
%patch1003 -p0 -b .fastjar-CVE-2010-0831~
%patch1004 -p0 -b .fastjar-man~
%if %{bootstrap_java}
tar xjf %{SOURCE10}
%endif
sed -i -e 's/4\.4\.4/4.4.3/' gcc/BASE-VER
sed -i -e 's/4\.4\.5/4.4.4/' gcc/BASE-VER
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
# Default to -gdwarf-3 rather than -gdwarf-2
@ -543,6 +575,7 @@ fi
%build
%if %{build_java}
export GCJ_PROPERTIES=jdt.compiler.useSingleThread=true
# gjar isn't usable, so even when GCC source tree no longer includes
# fastjar, build it anyway.
mkdir fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
@ -686,7 +719,7 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`"
--with-arch_32=i686 \
%endif
%ifarch s390 s390x
--with-arch=z9-109 --with-tune=z10 \
--with-arch=z9-109 --with-tune=z10 --enable-decimal-float \
%endif
%ifnarch sparc sparcv9 ppc
--build=%{gcc_target_platform}
@ -767,6 +800,7 @@ rm -fr %{buildroot}
cd obj-%{gcc_target_platform}
%if %{build_java}
export GCJ_PROPERTIES=jdt.compiler.useSingleThread=true
export PATH=`pwd`/../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}${PATH:+:$PATH}
%if !%{bootstrap_java}
export PATH=`pwd`/java_hacks${PATH:+:$PATH}
@ -974,7 +1008,7 @@ fi
mv -f %{buildroot}%{_prefix}/%{_lib}/libgcj_bc.so $FULLLPATH/
%endif
mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a .
mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/
mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a .
mv -f %{buildroot}%{_prefix}/%{_lib}/libobjc.*a .
mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
@ -1036,12 +1070,13 @@ ln -sf ../`echo ../../../../lib/libgij.so.10.* | sed s~/lib/~/lib64/~` 64/libgij
ln -sf lib32/libgcj_bc.so libgcj_bc.so
ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so
%endif
mv -f %{buildroot}%{_prefix}/lib64/libsupc++.*a 64/
mv -f %{buildroot}%{_prefix}/lib64/libgfortran.*a 64/
mv -f %{buildroot}%{_prefix}/lib64/libobjc.*a 64/
mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/
ln -sf lib32/libstdc++.a libstdc++.a
ln -sf ../lib64/libstdc++.a 64/libstdc++.a
ln -sf lib32/libsupc++.a libsupc++.a
ln -sf ../lib64/libsupc++.a 64/libsupc++.a
ln -sf lib32/libmudflap.a libmudflap.a
ln -sf ../lib64/libmudflap.a 64/libmudflap.a
ln -sf lib32/libmudflapth.a libmudflapth.a
@ -1069,7 +1104,6 @@ ln -sf ../`echo ../../../../lib64/libgcj.so.10.* | sed s~/../lib64/~/~` 32/libgc
ln -sf ../`echo ../../../../lib64/libgcj-tools.so.10.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
ln -sf ../`echo ../../../../lib64/libgij.so.10.* | sed s~/../lib64/~/~` 32/libgij.so
%endif
mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/
mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/
mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
@ -1077,6 +1111,8 @@ mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
%ifarch sparc64 ppc64
ln -sf ../lib32/libstdc++.a 32/libstdc++.a
ln -sf lib64/libstdc++.a libstdc++.a
ln -sf ../lib32/libsupc++.a 32/libsupc++.a
ln -sf lib64/libsupc++.a libsupc++.a
ln -sf ../lib32/libmudflap.a 32/libmudflap.a
ln -sf lib64/libmudflap.a libmudflap.a
ln -sf ../lib32/libmudflapth.a 32/libmudflapth.a
@ -1094,6 +1130,7 @@ ln -sf lib64/adalib adalib
%else
%ifarch %{multilib_64_archs}
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libstdc++.a 32/libstdc++.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libsupc++.a 32/libsupc++.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflap.a 32/libmudflap.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflapth.a 32/libmudflapth.a
%if %{build_java}
@ -1522,10 +1559,10 @@ fi
%endif
%ifarch sparcv9 ppc %{multilib_64_archs}
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
%endif
%ifarch sparcv9 sparc64 ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
%endif
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
@ -1543,23 +1580,49 @@ fi
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%if 0%{?fedora} < 14
%ifarch sparcv9 ppc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libsupc++.a
%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libsupc++.a
%endif
%ifnarch sparcv9 sparc64 ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
%endif
%endif
%ifnarch sparcv9 ppc %{multilib_64_archs}
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
%endif
%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
%if 0%{?fedora} >= 14
%files -n libstdc++-static
%defattr(-,root,root,-)
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%ifarch sparcv9 ppc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libsupc++.a
%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libsupc++.a
%endif
%ifnarch sparcv9 sparc64 ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
%endif
%endif
%if %{build_libstdcxx_docs}
%files -n libstdc++-docs
%defattr(-,root,root)
@ -1829,15 +1892,52 @@ fi
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib
%if 0%{?fedora} >= 14
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib/libgnat.a
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib/libgnarl.a
%endif
%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib
%if 0%{?fedora} >= 14
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib/libgnat.a
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib/libgnarl.a
%endif
%endif
%ifnarch sparcv9 sparc64 ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib
%if 0%{?fedora} >= 14
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib/libgnat.a
%exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib/libgnarl.a
%endif
%endif
%if 0%{?fedora} >= 14
%files -n libgnat-static
%defattr(-,root,root,-)
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%ifarch sparcv9 ppc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib/libgnat.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/adalib/libgnarl.a
%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib/libgnat.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/adalib/libgnarl.a
%endif
%ifnarch sparcv9 sparc64 ppc ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib/libgnat.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib/libgnarl.a
%endif
%endif
%endif
@ -1859,6 +1959,7 @@ fi
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mf-runtime.h
%if 0%{?fedora} < 14
%ifarch sparcv9 ppc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libmudflap.a
@ -1872,12 +1973,258 @@ fi
%ifnarch sparcv9 sparc64 ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a
%endif
%endif
%ifnarch sparcv9 sparc64 ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.so
%endif
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
%if 0%{?fedora} >= 14
%files -n libmudflap-static
%defattr(-,root,root,-)
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%ifarch sparcv9 ppc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libmudflapth.a
%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libmudflapth.a
%endif
%ifnarch sparcv9 sparc64 ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a
%endif
%endif
%changelog
* Wed Jul 7 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-11
- update from gcc-4_4-branch
- PRs target/44597, target/44705
- VTA backports
- PR c++/44808
- avoid outputting invalid registers in debug info (#610455)
- -Wunused-but-set-* vector assignment fix (PR c++/44780)
- fix PowerPC address reloading for inline-asms (#608768, PR target/44707)
- fix predictive commoning (#609488, PR tree-optimization/40421)
- fix SRA not to do useless sign-extensions that confuses ivopts (#610785)
- fix IPP handling in libgcj (#578382)
* Wed Jun 30 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-10
- update from gcc-4_4-branch
- PRs fortran/43841, fortran/43843, tree-optimization/44683
- fix qualified-id as template argument handling (#605761, PR c++/44587)
- -Wunused-but-set-* static_cast fix (PR c++/44682)
- VTA backports
- PRs debug/44610, debug/44668, debug/44694
- unswitching fixes (PR middle-end/43866)
* Thu Jun 24 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-9
- update from gcc-4_4-branch
- PRs bootstrap/44426, bootstrap/44544, c++/44627, fortran/44536,
libgcj/44216, target/39690, target/43740, target/44261, target/44481,
target/44534, target/44615, testsuite/32843, testsuite/43739,
tree-optimization/44508
- VTA backports
- PRs debug/43650, debug/44181, debug/44247
- -Wunused-but-set-* ->*/.* fix (PR c++/44619)
- undeprecate #ident and #sccs (#606069)
%if 0%{?fedora} >= 14
- fix up libgnat-static
%endif
- fixup dates in generated man pages even for fastjar and gcc/ man pages
- don't realign stack on x86/x86-64 just because a DECL_ALIGN was set
too high by expansion code (#603924, PR target/44542)
- don't allow side-effects in inline-asm memory operands unless
< or > is present in operand's constraint (#602359, PR middle-end/44492)
* Fri Jun 11 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-8
- update from gcc-4_4-branch
- fix demangler (PR other/43838)
- VTA backports
- further var-tracking speedup (#598310, PR debug/41371)
- for typedefs in non-template classes adjust underlying type to
emit proper debug info (#601893)
- fix up fastjar directory traversal bugs (CVE-2010-0831)
* Tue Jun 8 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-7
- update from gcc-4_4-branch
- PRs c++/43555, fortran/42900, fortran/44360, libfortran/41169,
libgcj/38251, libobjc/36610, libstdc++/32499, pch/14940,
rtl-optimization/39580, target/44075, target/44169, target/44199
- VTA backports
- PRs debug/44367, debug/44375, rtl-optimization/44013,
tree-optimization/44182
- speed up var-tracking (#598310, PR debug/41371)
- -Wunused-but-set-* bugfixes
- PRs c++/44361, c++/44362, c++/44412, c++/44443, c++/44444
- fix -mno-fused-madd -mfma4 on i?86/x86_64 (PR target/44338)
- use GCJ_PROPERTIES=jdt.compiler.useSingleThread=true when
building classes with ecj1 (#524155)
%if 0%{?fedora} >= 14
- add some static subpackages (#556049)
%endif
* Tue May 25 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-5
- update from gcc-4_4-branch
- PRs bootstrap/43870, debug/44205, target/43733, target/44074,
target/44202, target/44245, tree-optimization/43845
- fix cv-qual issue with function types (#593750, PR c++/44193)
- VTA backports
- PRs debug/41371, debug/42801, debug/43260, debug/43521
* Tue May 18 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-4
- update from gcc-4_4-branch
- PR fortran/44135
- C++ -Wunused-but-set-variable fix (PR c++/44108)
- avoid C++ gimplification affecting mangling (#591635, PR c++/44148)
- asm goto fixes (PRs middle-end/44102, bootstrap/42347)
- VTA backports
- PRs debug/41371, debug/44112
* Fri May 14 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-3
- update from gcc-4_4-branch
- PRs debug/43370, documentation/44016, fortran/44036, middle-end/43671,
middle-end/44085, target/43744
- make comdat guards of STB_GNU_UNIQUE variables also STB_GNU_UNIQUE
(PR c++/44059)
- VTA backports
- PRs debug/42278, debug/43950, debug/43983,debug/44104, debug/44136
- fix up .debug_macinfo (#479914)
- asm goto fixes (PRs middle-end/44071, middle-end/42739)
- fix up -march=native (PR target/44046)
- C++ -Wunused-but-set-{variable,parameter} support, fixes for C support
(#538266, PRs c++/44062, c/43981)
- -march=bdver1 and -mtune=bdver1 support
* Mon May 3 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-2
- fix VTA ICE on subregs of @GOTPCREL symbols (#588154, PR debug/43972)
* Fri Apr 30 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-1
- update from gcc-4_4-branch
- GCC 4.4.4 release
- VTA backports
- PR target/43921
* Tue Apr 27 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-19
- Power7 backports (#584993, #585005)
- PRs tree-optimization/43544, target/41787, target/43154, middle-end/42431,
rtl-optimization/43413
- add @GCC_4.5.0 symbols to libgcc_s
- PRs target/43383, other/25232
- force DW_CFA_def_cfa instead of DW_CFA_def_cfa_{register,offset{,_sf}}
after DW_CFA_def_cfa_expression
- make sure _Unwind_DebugHook uses standard calling convention
- #pragma omp for fix (PR c/43893)
* Thu Apr 22 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-18
- update from gcc-4_4-branch
- PRs fortran/43339, fortran/43836, libgcj/40860, libgomp/43569,
libgomp/43706, libstdc++/40518, middle-end/43337, middle-end/43570,
tree-optimization/43769, tree-optimization/43771
- fix ICE when compiling 64-bit Wine (#583501, PR target/43662)
- VTA backports
- PRs debug/40040, debug/43762
- add support for -Wunused-but-set-{parameter,variable} non-default
warnings for C (#538266, PRs c/18624, bootstrap/43699)
* Fri Apr 9 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-16
- update from gcc-4_4-branch
- PRs ada/41912, fortran/43539, middle-end/42956, middle-end/43614,
target/38085, target/43458, target/43643, target/43668,
tree-optimization/43186, tree-optimization/43560,
tree-optimization/43607, tree-optimization/43629
- VTA backports
- PR debug/43670
- fix xop-vpermil2p* tests (target/43103)
* Wed Apr 7 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-15
- update from gcc-4_4-branch
- PRs libfortran/43605, target/43638
- AMD XOP fixes (#579493, PRs target/42664, target/43667)
- fix raw string support on big endian hosts (PR preprocessor/43642)
- allow -gdwarf-4 option
* Thu Apr 1 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-14
- update from gcc-4_4-branch
- PRs other/43562, c++/41185, c++/41786, fortran/43409, fortran/43551,
libfortran/43409, middle-end/43600, target/39254, target/43524,
tree-optimization/43528
- update raw string support to match N3077
- VTA backports
- PRs bootstrap/43596, debug/42977, debug/43557, debug/43593,
target/43580
* Sat Mar 27 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-13
- update from gcc-4_4-branch
- PRs c/43381, libfortran/43517, target/42113
- VTA backports
- PRs debug/43516, debug/43540
* Thu Mar 25 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-12
- update from gcc-4_4-branch
- PRs c/43385, target/43348, tree-optimization/43415
- VTA backports
- PRs bootstrap/43511, debug/19192, debug/43479, debug/43508
- provide unwind info even for C++ thunks on x86, x86-64 and s390{,x}
(PR target/43498)
- provide unwind info for x86 PIC thunks even when not using CFI assembler
directives (PR debug/43293)
* Mon Mar 22 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-11
- update from gcc-4_4-branch
- PRs c++/43116, libfortran/43265, libgomp/42942, middle-end/42718,
middle-end/43419, rtl-optimization/43360, rtl-optimization/43438,
target/43305, target/43417
- VTA backports
- PRs bootstrap/43399, bootstrap/43403, debug/42873, debug/43058,
debug/43443, target/43399
* Tue Mar 16 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-10
- update from gcc-4_4-branch
- PRs fortran/43228, fortran/43303, libfortran/43265, libfortran/43320
- VTA backports
- PRs debug/36728, debug/43051, debug/43092, debug/43290,
tree-optimization/42917, tree-optimization/43317
- fix non-localized vars handling and forwarder block merging
(#572260, PR debug/43329)
%if 0%{?rhel} >= 6
- remove gappletviewer, gcjwebplugin and related files even for
RHEL, as xulrunner got updated to 1.9.2.1
%endif
* Tue Mar 9 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-9
- update from gcc-4_4-branch
- PRs ada/42253, bootstrap/43121, c/43248, tree-optimization/43220
- VTA backports
- PRs debug/42897, debug/43176, debug/43177, debug/43229, debug/43237,
debug/43290, debug/43299, debug/43304
- fix unwind info in i?86 PIC register setup sequences (PR debug/43293)
* Fri Feb 26 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-8
- update from gcc-4_4-branch
- PR libstdc++/21769
- VTA backports
- PRs debug/42800, debug/43077, debug/43150, debug/43160, debug/43161,
debug/43165, debug/43166, debug/43190, target/43139
- fix alignment of some stack vars (PR middle-end/39315)
* Sun Feb 21 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-7
- update from gcc-4_4-branch
- PRs c++/43024, c++/43033, fortran/41869, target/40887,
tree-optimization/42871, tree-optimization/43074
- VTA backports (PRs debug/42918, debug/43084)
- --enable-decimal-float on s390{,x} (#565871)
- improve __builtin_expect handling, propagate branch probabilities
during expansion even for sequences with more than one jump
(PR middle-end/42233)
* Thu Feb 11 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-6
- update from gcc-4_4-branch
- PR tree-optimization/42705

View File

@ -1,17 +0,0 @@
2008-01-25 Jakub Jelinek <jakub@redhat.com>
* lang.c (java_classify_record): Revert 2007-12-20 change.
--- gcc/java/lang.c 2007-12-27 09:09:49.000000000 +0100
+++ gcc/java/lang.c 2008-01-25 17:43:57.000000000 +0100
@@ -965,9 +965,7 @@ java_classify_record (tree type)
if (! CLASS_P (type))
return RECORD_IS_STRUCT;
- /* ??? GDB does not support DW_TAG_interface_type as of December,
- 2007. Re-enable this at a later time. */
- if (0 && CLASS_INTERFACE (TYPE_NAME (type)))
+ if (CLASS_INTERFACE (TYPE_NAME (type)))
return RECORD_IS_INTERFACE;
return RECORD_IS_CLASS;

View File

@ -1,229 +0,0 @@
2010-01-05 Alexandre Oliva <aoliva@redhat.com>
* params.def (PARAM_MAX_VARTRACK_SIZE): New.
* doc/invoke.texi: Document it.
* var-tracking.c: Include toplev.h and params.h.
(vt_find_locations): Return bool indicating success. Compute
hash sizes unconditionally. Check new parameter, report.
(variable_tracking_main_1): Check vt_find_locations results and
retry. Renamed from...
(variable_tracking_main): ... this. New wrapper to preserve
flag_var_tracking_assignments.
* Makefile.in (var-tracking.o): Adjust dependencies.
--- gcc/doc/invoke.texi.jj 2010-01-09 20:39:58.000000000 +0100
+++ gcc/doc/invoke.texi 2010-01-21 10:00:15.979730377 +0100
@@ -7937,6 +7937,15 @@ with more basic blocks than this paramet
motion optimization performed on them. The default value of the
parameter is 1000 for -O1 and 10000 for -O2 and above.
+@item max-vartrack-size
+Sets a maximum number of hash table slots to use during variable
+tracking dataflow analysis of any function. If this limit is exceeded
+with variable tracking at assignments enabled, analysis for that
+function is retried without it, after removing all debug insns from
+the function. If the limit is exceeded even without debug insns, var
+tracking analysis is completely disabled for the function. Setting
+the parameter to zero makes it unlimited.
+
@item min-nondebug-insn-uid
Use uids starting at this parameter for nondebug insns. The range below
the parameter is reserved exclusively for debug insns created by
--- gcc/params.def.jj 2010-01-09 20:39:58.000000000 +0100
+++ gcc/params.def 2010-01-21 10:00:15.980730943 +0100
@@ -771,6 +771,13 @@ DEFPARAM (PARAM_LOOP_INVARIANT_MAX_BBS_I
"max basic blocks number in loop for loop invariant motion",
10000, 0, 0)
+/* Set maximum hash table size for var tracking. */
+
+DEFPARAM (PARAM_MAX_VARTRACK_SIZE,
+ "max-vartrack-size",
+ "Max. size of var tracking hash tables",
+ 50000000, 0, 0)
+
/* Set minimum insn uid for non-debug insns. */
DEFPARAM (PARAM_MIN_NONDEBUG_INSN_UID,
--- gcc/var-tracking.c.jj 2010-01-21 09:10:37.000000000 +0100
+++ gcc/var-tracking.c 2010-01-21 10:00:15.983740989 +0100
@@ -109,6 +109,8 @@
#include "tree-flow.h"
#include "cselib.h"
#include "target.h"
+#include "toplev.h"
+#include "params.h"
/* var-tracking.c assumes that tree code with the same value as VALUE rtx code
has no chance to appear in REG_EXPR/MEM_EXPRs and isn't a decl.
@@ -451,7 +453,7 @@ static int add_uses (rtx *, void *);
static void add_uses_1 (rtx *, void *);
static void add_stores (rtx, const_rtx, void *);
static bool compute_bb_dataflow (basic_block);
-static void vt_find_locations (void);
+static bool vt_find_locations (void);
static void dump_attrs_list (attrs);
static int dump_var_slot (void **, void *);
@@ -5511,7 +5513,7 @@ compute_bb_dataflow (basic_block bb)
/* Find the locations of variables in the whole function. */
-static void
+static bool
vt_find_locations (void)
{
fibheap_t worklist, pending, fibheap_swap;
@@ -5522,6 +5524,8 @@ vt_find_locations (void)
int *rc_order;
int i;
int htabsz = 0;
+ int htabmax = PARAM_VALUE (PARAM_MAX_VARTRACK_SIZE);
+ bool success = true;
/* Compute reverse completion order of depth first search of the CFG
so that the data-flow runs faster. */
@@ -5543,7 +5547,7 @@ vt_find_locations (void)
fibheap_insert (pending, bb_order[bb->index], bb);
sbitmap_ones (in_pending);
- while (!fibheap_empty (pending))
+ while (success && !fibheap_empty (pending))
{
fibheap_swap = pending;
pending = worklist;
@@ -5566,11 +5570,11 @@ vt_find_locations (void)
SET_BIT (visited, bb->index);
- if (dump_file && VTI (bb)->in.vars)
+ if (VTI (bb)->in.vars)
{
htabsz
- -= htab_size (shared_hash_htab (VTI (bb)->in.vars))
- + htab_size (shared_hash_htab (VTI (bb)->out.vars));
+ -= (htab_size (shared_hash_htab (VTI (bb)->in.vars))
+ + htab_size (shared_hash_htab (VTI (bb)->out.vars)));
oldinsz
= htab_elements (shared_hash_htab (VTI (bb)->in.vars));
oldoutsz
@@ -5634,9 +5638,20 @@ vt_find_locations (void)
}
changed = compute_bb_dataflow (bb);
- if (dump_file)
- htabsz += htab_size (shared_hash_htab (VTI (bb)->in.vars))
- + htab_size (shared_hash_htab (VTI (bb)->out.vars));
+ htabsz += (htab_size (shared_hash_htab (VTI (bb)->in.vars))
+ + htab_size (shared_hash_htab (VTI (bb)->out.vars)));
+
+ if (htabmax && htabsz > htabmax)
+ {
+ if (MAY_HAVE_DEBUG_INSNS)
+ inform (DECL_SOURCE_LOCATION (cfun->decl),
+ "variable tracking size limit exceeded with debug insns, retrying without");
+ else
+ inform (DECL_SOURCE_LOCATION (cfun->decl),
+ "variable tracking size limit exceeded");
+ success = false;
+ break;
+ }
if (changed)
{
@@ -5687,7 +5702,7 @@ vt_find_locations (void)
}
}
- if (MAY_HAVE_DEBUG_INSNS)
+ if (success && MAY_HAVE_DEBUG_INSNS)
FOR_EACH_BB (bb)
gcc_assert (VTI (bb)->flooded);
@@ -5698,6 +5713,8 @@ vt_find_locations (void)
sbitmap_free (visited);
sbitmap_free (in_worklist);
sbitmap_free (in_pending);
+
+ return success;
}
/* Print the content of the LIST to dump file. */
@@ -7600,9 +7617,11 @@ vt_finalize (void)
/* The entry point to variable tracking pass. */
-unsigned int
-variable_tracking_main (void)
+static inline unsigned int
+variable_tracking_main_1 (void)
{
+ bool success;
+
if (flag_var_tracking_assignments < 0)
{
delete_debug_insns ();
@@ -7627,7 +7646,31 @@ variable_tracking_main (void)
}
}
- vt_find_locations ();
+ success = vt_find_locations ();
+
+ if (!success && flag_var_tracking_assignments > 0)
+ {
+ vt_finalize ();
+
+ delete_debug_insns ();
+
+ /* This is later restored by our caller. */
+ flag_var_tracking_assignments = 0;
+
+ vt_initialize ();
+
+ if (!frame_pointer_needed && !vt_stack_adjustments ())
+ gcc_unreachable ();
+
+ success = vt_find_locations ();
+ }
+
+ if (!success)
+ {
+ vt_finalize ();
+ vt_debug_insns_local (false);
+ return 0;
+ }
if (dump_file && (dump_flags & TDF_DETAILS))
{
@@ -7641,6 +7684,19 @@ variable_tracking_main (void)
vt_debug_insns_local (false);
return 0;
}
+
+unsigned int
+variable_tracking_main (void)
+{
+ unsigned int ret;
+ int save = flag_var_tracking_assignments;
+
+ ret = variable_tracking_main_1 ();
+
+ flag_var_tracking_assignments = save;
+
+ return ret;
+}
static bool
gate_handle_var_tracking (void)
--- gcc/Makefile.in.jj 2010-01-21 08:58:12.000000000 +0100
+++ gcc/Makefile.in 2010-01-21 10:00:45.555730868 +0100
@@ -2751,7 +2751,7 @@ var-tracking.o : var-tracking.c $(CONFIG
$(RTL_H) $(TREE_H) hard-reg-set.h insn-config.h reload.h $(FLAGS_H) \
$(BASIC_BLOCK_H) output.h sbitmap.h alloc-pool.h $(FIBHEAP_H) $(HASHTAB_H) \
$(REGS_H) $(EXPR_H) $(TIMEVAR_H) tree-pass.h cselib.h $(TARGET_H) \
- $(TREE_FLOW_H)
+ $(TREE_FLOW_H) $(TOPLEV_H) $(PARAMS_H)
profile.o : profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
$(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) $(FUNCTION_H) \
$(TOPLEV_H) $(COVERAGE_H) $(TREE_FLOW_H) value-prof.h cfghooks.h \

49
gcc44-pr44542.patch Normal file
View File

@ -0,0 +1,49 @@
2010-06-17 Jakub Jelinek <jakub@redhat.com>
PR target/44542
* cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
instead of MAX_SUPPORTED_STACK_ALIGNMENT.
(expand_one_var): Don't consider DECL_ALIGN for variables for
which expand_one_stack_var_at has been already called.
--- gcc/cfgexpand.c.jj 2010-06-17 17:01:11.964198458 +0200
+++ gcc/cfgexpand.c 2010-06-17 18:25:18.940335757 +0200
@@ -839,7 +839,7 @@ static void
expand_one_stack_var_at (tree decl, HOST_WIDE_INT offset)
{
/* Alignment is unsigned. */
- unsigned HOST_WIDE_INT align;
+ unsigned HOST_WIDE_INT align, max_align;
rtx x;
/* If this fails, we've overflowed the stack frame. Error nicely? */
@@ -852,10 +852,10 @@ expand_one_stack_var_at (tree decl, HOST
offset -= frame_phase;
align = offset & -offset;
align *= BITS_PER_UNIT;
- if (align == 0)
- align = STACK_BOUNDARY;
- else if (align > MAX_SUPPORTED_STACK_ALIGNMENT)
- align = MAX_SUPPORTED_STACK_ALIGNMENT;
+ max_align = MAX (crtl->max_used_stack_slot_alignment,
+ PREFERRED_STACK_BOUNDARY);
+ if (align == 0 || align > max_align)
+ align = max_align;
DECL_ALIGN (decl) = align;
DECL_USER_ALIGN (decl) = 0;
@@ -1054,6 +1054,13 @@ expand_one_var (tree var, bool toplevel,
align = MINIMUM_ALIGNMENT (TREE_TYPE (var),
TYPE_MODE (TREE_TYPE (var)),
TYPE_ALIGN (TREE_TYPE (var)));
+ else if (DECL_HAS_VALUE_EXPR_P (var)
+ || (DECL_RTL_SET_P (var) && MEM_P (DECL_RTL (var))))
+ /* Don't consider debug only variables with DECL_HAS_VALUE_EXPR_P set
+ or variables which were assigned a stack slot already by
+ expand_one_stack_var_at - in the latter case DECL_ALIGN has been
+ changed from the offset chosen to it. */
+ align = crtl->stack_alignment_estimated;
else
align = MINIMUM_ALIGNMENT (var, DECL_MODE (var), DECL_ALIGN (var));

View File

@ -1,28 +0,0 @@
2007-10-21 Jakub Jelinek <jakub@redhat.com>
* doc/Makefile.am (POD2MAN): Set date from cp-tools.texinfo
timestamp rather than from current date.
* doc/Makefile.in: Regenerated.
--- libjava/classpath/doc/Makefile.am.jj 2007-12-07 17:55:00.000000000 +0100
+++ libjava/classpath/doc/Makefile.am 2007-12-07 18:55:28.000000000 +0100
@@ -31,7 +31,7 @@ TOOLS_MANFILES = \
gtnameserv.1 \
gjdoc.1
-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
+POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
TEXI2POD = perl $(srcdir)/texi2pod.pl
STAMP = echo timestamp >
--- libjava/classpath/doc/Makefile.in.jj 2007-12-07 17:55:00.000000000 +0100
+++ libjava/classpath/doc/Makefile.in 2007-12-07 18:55:43.000000000 +0100
@@ -382,7 +382,7 @@ TOOLS_MANFILES = \
gtnameserv.1 \
gjdoc.1
-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
+POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
TEXI2POD = perl $(srcdir)/texi2pod.pl
STAMP = echo timestamp >
@GENINSRC_FALSE@STAMP_GENINSRC =

76
gcc44-rh578382.patch Normal file
View File

@ -0,0 +1,76 @@
2010-04-27 Andrew Haley <aph@redhat.com>
* gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
IppValueTag.UNKNOWN.
* gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
Handle RequestedAttributes.
* gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
DocFlavor.SERVICE_FORMATTED.PAGEABLE and
DocFlavor.SERVICE_FORMATTED.PRINTABLE.
--- libjava/classpath/gnu/javax/print/ipp/IppRequest.java (revision 158788)
+++ libjava/classpath/gnu/javax/print/ipp/IppRequest.java (revision 158789)
@@ -434,6 +434,8 @@ public class IppRequest
PrinterURI printerUri = (PrinterURI) attributes.get(PrinterURI.class);
JobUri jobUri = (JobUri) attributes.get(JobUri.class);
JobId jobId = (JobId) attributes.get(JobId.class);
+ RequestedAttributes reqAttrs
+ = (RequestedAttributes)attributes.get(RequestedAttributes.class);
if (printerUri != null && jobId == null && jobUri == null)
{
write(printerUri);
@@ -467,6 +469,12 @@ public class IppRequest
logger.log(Component.IPP, "Attribute: Name: <" + jobUri.getCategory()
.getName() + "> Value: <" + jobUri.toString() + ">");
}
+ else if (reqAttrs != null)
+ {
+ write(reqAttrs);
+ attributes.remove(RequestedAttributes.class);
+ logger.log(Component.IPP, "RequestedAttributes: <" + reqAttrs + ">");
+ }
else
{
throw new IppException("Unknown target operation attribute combination.");
--- libjava/classpath/gnu/javax/print/ipp/IppPrintService.java (revision 158788)
+++ libjava/classpath/gnu/javax/print/ipp/IppPrintService.java (revision 158789)
@@ -356,8 +356,17 @@ public class IppPrintService implements
// should not happen, all fields are public
}
}
+
+ if (this.getClass()
+ .isAssignableFrom(gnu.javax.print.CupsPrintService.class))
+ {
+// CUPS always provides filters to convert from Postscript.
+// This logic looks odd, but it's what OpenJDK does.
+ flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
+ flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
+ }
}
-
+
// printer uris
Set uris = getPrinterAttributeSet(PrinterUriSupported.class);
printerUris = new ArrayList(uris.size());
--- libjava/classpath/gnu/javax/print/ipp/IppResponse.java (revision 158788)
+++ libjava/classpath/gnu/javax/print/ipp/IppResponse.java (revision 158789)
@@ -302,11 +302,14 @@ public class IppResponse
// out-of-band values
case IppValueTag.UNSUPPORTED:
case IppValueTag.UNKNOWN:
- case IppValueTag.NO_VALUE:
// TODO implement out-of-band handling
- // We currently throw an exception to see when it occurs - not yet :-)
- throw new IppException(
- "Unexpected name value for out-of-band value tag");
+ // We currently throw an exception to see when it occurs - not yet :-)
+ throw new IppException(
+ "Unexpected name value for out-of-band value tag " + tag);
+ case IppValueTag.NO_VALUE:
+ attribute = null;
+
+ break;
case IppValueTag.INTEGER:
int intValue = IppUtilities.convertToInt(value);
attribute = IppUtilities.getIntegerAttribute(name, intValue);

74
gcc44-rh610785.patch Normal file
View File

@ -0,0 +1,74 @@
2010-07-07 Jakub Jelinek <jakub@redhat.com>
* tree-sra.c (sra_build_assignment): Don't add BIT_XOR_EXPR/MINUS_EXPR
of signbit if signbit is the most significant bit of utype already.
* gcc.c-torture/execute/20100707-1.c: New test.
--- gcc/tree-sra.c.jj 2010-05-13 13:08:52.000000000 +0200
+++ gcc/tree-sra.c 2010-07-06 19:50:09.000000000 +0200
@@ -2211,7 +2211,10 @@ sra_build_assignment (tree dst, tree src
/* Perform sign extension, if required.
??? This should never be necessary. */
- if (!unsignedp)
+ if (!unsignedp
+ && (TREE_INT_CST_LOW (width) != TYPE_PRECISION (utype)
+ || (TREE_INT_CST_LOW (width)
+ != GET_MODE_BITSIZE (TYPE_MODE (utype)))))
{
tree signbit = int_const_binop (LSHIFT_EXPR,
build_int_cst_wide (utype, 1, 0),
--- gcc/testsuite/gcc.c-torture/execute/20100707-1.c 2010-05-27 15:41:40.446237053 +0200
+++ gcc/testsuite/gcc.c-torture/execute/20100707-1.c 2010-07-06 13:55:35.000000000 +0200
@@ -0,0 +1,50 @@
+struct S { int s; };
+struct T { int w; int h; };
+int vr;
+
+inline struct T
+bar (const struct S * x)
+{
+ struct T t;
+ t.w = vr;
+ t.h = x->s;
+ return t;
+}
+
+__attribute__ ((noinline))
+void foo (struct S * w, unsigned char *x, int y, int *z[2])
+{
+ struct T t;
+ int i, j, k;
+ t = bar (w);
+ k = t.w + 2;
+ for (i = 0; i <= t.h; i++)
+ {
+ int *u = z[i > 0] + 1;
+ unsigned char *v;
+ int q = 0;
+ v = x + k * i + 1;
+ for (j = 0; j < t.w; j++)
+ {
+ int m = u[j];
+ if (m > y && !q && v[j - k] != 2)
+ v[j] = 0;
+ }
+ }
+}
+
+unsigned char b[64];
+
+int
+main (void)
+{
+ int v[32], *z[2];
+ struct S s;
+ __builtin_memset (v, 0, sizeof (v));
+ vr = 16;
+ s.s = 16;
+ z[0] = v;
+ z[1] = v;
+ foo (&s, b + 32, -1, z);
+ return 0;
+}

View File

@ -6,7 +6,7 @@
;;
-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"
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h"
extra_options="${extra_options} sparc/long-double-switch.opt"
tmake_file="${tmake_file} sparc/t-linux"
@@ -2287,7 +2287,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
@ -15,7 +15,7 @@
;;
-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 sparc/linux64.h"
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h sparc/linux64.h"
extra_options="${extra_options} sparc/long-double-switch.opt"
tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500

View File

@ -1,3 +1,7 @@
2010-04-27 Jakub Jelinek <jakub@redhat.com>
* unwind-dw2.c (_Unwind_DebugHook): Add used attribute.
2009-05-27 Tom Tromey <tromey@redhat.com>
* unwind-dw2.c (_Unwind_DebugHook): New function.
@ -5,11 +9,12 @@
--- gcc/unwind-dw2.c (revision 147933)
+++ gcc/unwind-dw2.c (revision 147934)
@@ -1473,18 +1473,31 @@ uw_init_context_1 (struct _Unwind_Contex
@@ -1473,18 +1473,32 @@ uw_init_context_1 (struct _Unwind_Contex
context->ra = __builtin_extract_return_addr (outer_ra);
}
+static void _Unwind_DebugHook (void *, void *) __attribute__ ((__noinline__));
+static void _Unwind_DebugHook (void *, void *)
+ __attribute__ ((__noinline__, __used__));
+
+/* This function is called during unwinding. It is intended as a hook
+ for a debugger to intercept exceptions. CFA is the CFA of the

View File

@ -7,3 +7,25 @@ gcc-4_4_3-1_fc13:HEAD:gcc-4.4.3-1.fc13.src.rpm:1264094717
gcc-4_4_3-4_fc13:HEAD:gcc-4.4.3-4.fc13.src.rpm:1264621537
gcc-4_4_3-5_fc13:HEAD:gcc-4.4.3-5.fc13.src.rpm:1265659730
gcc-4_4_3-6_fc13:HEAD:gcc-4.4.3-6.fc13.src.rpm:1265925505
gcc-4_4_3-7_fc13:F-13:gcc-4.4.3-7.fc13.src.rpm:1266793373
gcc-4_4_3-8_fc13:F-13:gcc-4.4.3-8.fc13.src.rpm:1267230097
gcc-4_4_3-9_fc13:F-13:gcc-4.4.3-9.fc13.src.rpm:1268168014
gcc-4_4_3-10_fc13:F-13:gcc-4.4.3-10.fc13.src.rpm:1268755563
gcc-4_4_3-11_fc13:F-13:gcc-4.4.3-11.fc13.src.rpm:1269273622
gcc-4_4_3-12_fc13:F-13:gcc-4.4.3-12.fc13.src.rpm:1269531219
gcc-4_4_3-13_fc13:F-13:gcc-4.4.3-13.fc13.src.rpm:1269701401
gcc-4_4_3-14_fc13:F-13:gcc-4.4.3-14.fc13.src.rpm:1270134283
gcc-4_4_3-15_fc13:F-13:gcc-4.4.3-15.fc13.src.rpm:1270645785
gcc-4_4_3-16_fc13:F-13:gcc-4.4.3-16.fc13.src.rpm:1270804069
gcc-4_4_3-18_fc13:F-13:gcc-4.4.3-18.fc13.src.rpm:1271928249
gcc-4_4_3-19_fc13:F-13:gcc-4.4.3-19.fc13.src.rpm:1272396517
gcc-4_4_4-1_fc13:F-13:gcc-4.4.4-1.fc13.src.rpm:1272657908
gcc-4_4_4-2_fc13:F-13:gcc-4.4.4-2.fc13.src.rpm:1272918321
gcc-4_4_4-3_fc13:F-13:gcc-4.4.4-3.fc13.src.rpm:1273873717
gcc-4_4_4-4_fc13:F-13:gcc-4.4.4-4.fc13.src.rpm:1274217265
gcc-4_4_4-5_fc13:F-13:gcc-4.4.4-5.fc13.src.rpm:1274827909
gcc-4_4_4-7_fc13:F-13:gcc-4.4.4-7.fc13.src.rpm:1275991168
gcc-4_4_4-8_fc13:F-13:gcc-4.4.4-8.fc13.src.rpm:1276244305
gcc-4_4_4-9_fc13:F-13:gcc-4.4.4-9.fc13.src.rpm:1277410568
gcc-4_4_4-10_fc13:F-13:gcc-4.4.4-10.fc13.src.rpm:1277882765
gcc-4_4_4-11_fc13:F-13:gcc-4.4.4-11.fc13.src.rpm:1278497746

View File

@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
080254256e618fa9f8f28e03698b016a gcc-4.4.3-20100211.tar.bz2
ccea98dc838ad0ce98ee1a52ee2931cd gcc-4.4.4-20100707.tar.bz2