diff --git a/.gitignore b/.gitignore index 2fd9882..68861f5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /gcc-4.6.0-20110223.tar.bz2 /gcc-4.6.0-20110301.tar.bz2 /gcc-4.6.0-20110304.tar.bz2 +/gcc-4.6.0-20110315.tar.bz2 diff --git a/gcc.spec b/gcc.spec index 8617870..7d5afb5 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20110304 -%global SVNREV 170670 +%global DATE 20110315 +%global SVNREV 171001 %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 0.12 +%global gcc_release 0.13 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha @@ -168,11 +168,8 @@ 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-ppl-0.10.patch -Patch20: gcc46-Woverlength-string.patch -Patch21: gcc46-Woverlength-string-asm.patch -Patch22: gcc46-pr47858.patch +Patch18: gcc46-ppl-0.10.patch +Patch19: gcc46-pr47858.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -602,13 +599,10 @@ not stable, so plugins must be rebuilt any time GCC is updated. %patch15 -p0 -b .libstdc++-docs~ %endif %patch17 -p0 -b .no-add-needed~ -%patch18 -p0 -b .unwind-debughook-sdt~ %if 0%{?fedora} < 15 -%patch19 -p0 -b .ppl-0.10~ +%patch18 -p0 -b .ppl-0.10~ %endif -%patch20 -p0 -b .Woverlength-string~ -%patch21 -p0 -b .Woverlength-string-asm~ -%patch22 -p0 -b .pr47858~ +%patch19 -p0 -b .pr47858~ # This testcase doesn't compile. rm libjava/testsuite/libjava.lang/PR35020* @@ -2346,6 +2340,24 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin %changelog +* Tue Mar 15 2011 Jakub Jelinek 4.6.0-0.13 +- update from trunk and 4.6 branch + - PRs bootstrap/48000, bootstrap/48102, c++/44629, c++/45651, c++/46220, + c++/46803, c++/47125, c++/47144, c++/47198, c++/47488, c++/47705, + c++/47808, c++/47957, c++/47971, c++/48003, c++/48008, c++/48015, + c++/48029, c++/48035, c++/48069, c/47786, debug/47881, debug/48043, + fortran/47552, fortran/47850, fortran/48054, fortran/48059, + libfortran/48066, libgfortran/48047, libstdc++/48038, libstdc++/48114, + lto/47497, lto/48073, lto/48086, middle-end/47968, middle-end/47975, + middle-end/48044, middle-end/48098, rtl-optimization/47866, + rtl-optimization/47899, target/45413, target/47719, target/47862, + target/47986, target/48032, target/48053, testsuite/47954, + tree-optimization/47127, tree-optimization/47278, + tree-optimization/47714, tree-optimization/47967, + tree-optimization/48022, tree-optimization/48063, + tree-optimization/48067 + - fix var-tracking ICE on s390x (#682410, PR debug/47991) + * Fri Mar 4 2011 Jakub Jelinek 4.6.0-0.12 - update from trunk - PRs c++/46159, c++/46282, c++/47200, c++/47774, c++/47851, c++/47950, diff --git a/gcc46-Woverlength-string-asm.patch b/gcc46-Woverlength-string-asm.patch deleted file mode 100644 index 47aae37..0000000 --- a/gcc46-Woverlength-string-asm.patch +++ /dev/null @@ -1,180 +0,0 @@ -2011-02-02 Tom Tromey - - * c-parser.c (c_parser_asm_string_literal): Clear - warn_overlength_strings. - - * gcc.dg/Woverlength-strings-pedantic-c90-asm.c: New file. - * gcc.dg/Woverlength-strings-pedantic-c89-asm.c: New file. - * gcc.dg/Woverlength-strings-pedantic-c99-asm.c: New file. - ---- gcc/c-parser.c -+++ gcc/c-parser.c -@@ -3264,6 +3264,8 @@ static tree - c_parser_asm_string_literal (c_parser *parser) - { - tree str; -+ int save_flag = warn_overlength_strings; -+ warn_overlength_strings = 0; - if (c_parser_next_token_is (parser, CPP_STRING)) - { - str = c_parser_peek_token (parser)->value; -@@ -3281,6 +3283,7 @@ c_parser_asm_string_literal (c_parser *parser) - c_parser_error (parser, "expected string literal"); - str = NULL_TREE; - } -+ warn_overlength_strings = save_flag; - return str; - } - ---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-asm.c -+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-asm.c -@@ -0,0 +1,47 @@ -+/* -Woverlength-strings complains about string constants which are too long -+ for the C standard's "minimum maximum" limits. It is off by default, -+ but implied by -pedantic. */ -+ -+/* { dg-options "-std=c89 -pedantic" } */ -+ -+#define TEN " " -+#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN -+#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN -+ -+/* C89's minimum-maximum is 509. */ -+__asm__ (HUN HUN HUN HUN HUN TEN); -+ -+/* C99's minimum-maximum is 4095. */ -+__asm__ ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456"); -+ -+void -+f (void) -+{ -+ /* C89's minimum-maximum is 509. */ -+ __asm__ (HUN HUN HUN HUN HUN TEN); -+ __asm__ (HUN HUN HUN HUN HUN TEN : : ); -+ __asm__ goto (HUN HUN HUN HUN HUN TEN : : : : label); -+ -+ /* C99's minimum-maximum is 4095. */ -+ __asm__ ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456"); -+ __asm__ ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456" : : ); -+ __asm__ goto ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456" : : : : label); -+ -+ label: ; -+} ---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c90-asm.c -+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c90-asm.c -@@ -0,0 +1,48 @@ -+/* -Woverlength-strings complains about string constants which are too long -+ for the C standard's "minimum maximum" limits. It is off by default, -+ but implied by -pedantic. */ -+ -+/* { dg-options "-std=c90 -pedantic" } */ -+ -+#define TEN " " -+#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN -+#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN -+ -+/* C89's minimum-maximum is 509. */ -+__asm__ (HUN HUN HUN HUN HUN TEN); -+ -+/* C99's minimum-maximum is 4095. */ -+__asm__ ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456"); -+ -+void -+f (void) -+{ -+ /* C89's minimum-maximum is 509. */ -+ __asm__ (HUN HUN HUN HUN HUN TEN); -+ __asm__ (HUN HUN HUN HUN HUN TEN : :); -+ __asm__ goto (HUN HUN HUN HUN HUN TEN : : : : label); -+ -+ /* C99's minimum-maximum is 4095. */ -+ __asm__ ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456"); -+ __asm__ ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456" : :); -+ __asm__ goto ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456" : : : : label); -+ -+ label: ; -+} -+ ---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-asm.c -+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-asm.c -@@ -0,0 +1,48 @@ -+/* -Woverlength-strings complains about string constants which are too long -+ for the C standard's "minimum maximum" limits. It is off by default, -+ but implied by -pedantic. */ -+ -+/* { dg-options "-std=c99 -pedantic" } */ -+ -+#define TEN " " -+#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN -+#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN -+ -+/* C89's minimum-maximum is 509. */ -+__asm__ (HUN HUN HUN HUN HUN TEN); -+ -+/* C99's minimum-maximum is 4095. */ -+__asm__ ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456"); -+ -+void -+f (void) -+{ -+ /* C89's minimum-maximum is 509. */ -+ __asm__ (HUN HUN HUN HUN HUN TEN); -+ __asm__ (HUN HUN HUN HUN HUN TEN : :); -+ __asm__ goto (HUN HUN HUN HUN HUN TEN : : : : label); -+ -+ /* C99's minimum-maximum is 4095. */ -+ __asm__ ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456"); -+ __asm__ ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456" : :); -+ __asm__ goto ( -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456" : : : : label); -+ -+ label: ; -+} -+ diff --git a/gcc46-Woverlength-string.patch b/gcc46-Woverlength-string.patch deleted file mode 100644 index cda5cbf..0000000 --- a/gcc46-Woverlength-string.patch +++ /dev/null @@ -1,103 +0,0 @@ -2011-01-18 Tom Tromey - - * c-parser.c (disable_extension_diagnostics): Save - warn_overlength_strings. - (restore_extension_diagnostics): Restore warn_overlength_strings. - - * gcc.dg/Woverlength-strings-pedantic-c89-ext.c: New file. - * gcc.dg/Woverlength-strings-pedantic-c90-ext.c: New file. - * gcc.dg/Woverlength-strings-pedantic-c99-ext.c: New file. - ---- gcc/c-parser.c (revision 168933) -+++ gcc/c-parser.c (working copy) -@@ -1045,13 +1045,15 @@ - | (warn_traditional << 2) - | (flag_iso << 3) - | (warn_long_long << 4) -- | (warn_cxx_compat << 5)); -+ | (warn_cxx_compat << 5) -+ | (warn_overlength_strings << 6)); - cpp_opts->cpp_pedantic = pedantic = 0; - warn_pointer_arith = 0; - cpp_opts->cpp_warn_traditional = warn_traditional = 0; - flag_iso = 0; - cpp_opts->cpp_warn_long_long = warn_long_long = 0; - warn_cxx_compat = 0; -+ warn_overlength_strings = 0; - return ret; - } - -@@ -1067,6 +1069,7 @@ - flag_iso = (flags >> 3) & 1; - cpp_opts->cpp_warn_long_long = warn_long_long = (flags >> 4) & 1; - warn_cxx_compat = (flags >> 5) & 1; -+ warn_overlength_strings = (flags >> 6) & 1; - } - - /* Possibly kinds of declarator to parse. */ ---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-ext.c (revision 0) -+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c89-ext.c (revision 0) -@@ -0,0 +1,19 @@ -+/* -Woverlength-strings complains about string constants which are too long -+ for the C standard's "minimum maximum" limits. It is off by default, -+ but implied by -pedantic. */ -+ -+/* { dg-options "-std=c89 -pedantic" } */ -+ -+#define TEN "xxxxxxxxxx" -+#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN -+#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN -+ -+/* C89's minimum-maximum is 509. */ -+const char x510[] = __extension__ HUN HUN HUN HUN HUN TEN; -+ -+/* C99's minimum-maximum is 4095. */ -+const char x4096[] = __extension__ -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456"; ---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c90-ext.c (revision 0) -+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c90-ext.c (revision 0) -@@ -0,0 +1,19 @@ -+/* -Woverlength-strings complains about string constants which are too long -+ for the C standard's "minimum maximum" limits. It is off by default, -+ but implied by -pedantic. */ -+ -+/* { dg-options "-std=c90 -pedantic" } */ -+ -+#define TEN "xxxxxxxxxx" -+#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN -+#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN -+ -+/* C89's minimum-maximum is 509. */ -+const char x510[] = __extension__ HUN HUN HUN HUN HUN TEN; -+ -+/* C99's minimum-maximum is 4095. */ -+const char x4096[] = __extension__ -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456"; ---- gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-ext.c (revision 0) -+++ gcc/testsuite/gcc.dg/Woverlength-strings-pedantic-c99-ext.c (revision 0) -@@ -0,0 +1,19 @@ -+/* -Woverlength-strings complains about string constants which are too long -+ for the C standard's "minimum maximum" limits. It is off by default, -+ but implied by -pedantic. */ -+ -+/* { dg-options "-std=c99 -pedantic" } */ -+ -+#define TEN "xxxxxxxxxx" -+#define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN -+#define THO HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN -+ -+/* C89's minimum-maximum is 509. */ -+const char x510[] = HUN HUN HUN HUN HUN TEN; -+ -+/* C99's minimum-maximum is 4095. */ -+const char x4096[] = __extension__ -+ THO THO THO THO /* 4000 */ -+ TEN TEN TEN TEN TEN /* 4050 */ -+ TEN TEN TEN TEN /* 4090 */ -+ "123456"; diff --git a/gcc46-unwind-debughook-sdt.patch b/gcc46-unwind-debughook-sdt.patch deleted file mode 100644 index 3b87e39..0000000 --- a/gcc46-unwind-debughook-sdt.patch +++ /dev/null @@ -1,88 +0,0 @@ -2011-01-14 Tom Tromey - - * unwind-dw2.c: Include sys/sdt.h if it exists. - (_Unwind_DebugHook): Use STAP_PROBE2. - * config.in, configure: Rebuild. - * configure.ac: Check for sys/sdt.h. - ---- gcc/configure.ac -+++ gcc/configure.ac -@@ -4313,6 +4313,16 @@ if test x$gcc_cv_libc_provides_ssp = xyes; then - [Define if your target C library provides stack protector support]) - fi - -+# Test for on the target. -+GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H]) -+AC_MSG_CHECKING(sys/sdt.h in the target C library) -+have_sys_sdt_h=no -+if test -f $target_header_dir/sys/sdt.h; then -+ AC_DEFINE(HAVE_SYS_SDT_H, 1, -+ [Define if your target C library provides sys/sdt.h]) -+fi -+AC_MSG_RESULT($have_sys_sdt_h) -+ - # Check if TFmode long double should be used by default or not. - # Some glibc targets used DFmode long double, but with glibc 2.4 - # and later they can use TFmode. ---- gcc/unwind-dw2.c -+++ gcc/unwind-dw2.c -@@ -37,6 +37,10 @@ - #include "gthr.h" - #include "unwind-dw2.h" - -+#ifdef HAVE_SYS_SDT_H -+#include -+#endif -+ - #ifndef __USING_SJLJ_EXCEPTIONS__ - - #ifndef STACK_GROWS_DOWNWARD -@@ -1493,7 +1497,13 @@ static void - _Unwind_DebugHook (void *cfa __attribute__ ((__unused__)), - void *handler __attribute__ ((__unused__))) - { -+ /* We only want to use stap probes starting with v3. Earlier -+ versions added too much startup cost. */ -+#if defined (HAVE_SYS_SDT_H) && defined (STAP_PROBE2) && _SDT_NOTE_TYPE >= 3 -+ STAP_PROBE2 (libgcc, unwind, cfa, handler); -+#else - asm (""); -+#endif - } - - /* Install TARGET into CURRENT so that we can return to it. This is a - ---- gcc/config.in.jj 2011-01-22 10:21:47.000000000 +0100 -+++ gcc/config.in 2011-01-22 11:10:39.000000000 +0100 -@@ -1405,6 +1407,9 @@ - #endif - - -+/* Define if your target C library provides sys/sdt.h */ -+#undef HAVE_SYS_SDT_H -+ - /* Define to 1 if you have the header file. */ - #ifndef USED_FOR_TARGET - #undef HAVE_SYS_STAT_H ---- gcc/configure.jj 2011-01-22 10:20:55.000000000 +0100 -+++ gcc/configure 2011-01-22 11:10:34.990648298 +0100 -@@ -25757,6 +25757,19 @@ $as_echo "#define TARGET_LIBC_PROVIDES_S - - fi - -+# Test for on the target. -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5 -+$as_echo_n "checking sys/sdt.h in the target C library... " >&6; } -+have_sys_sdt_h=no -+if test -f $target_header_dir/sys/sdt.h; then -+ -+$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5 -+$as_echo "$have_sys_sdt_h" >&6; } -+ - # Check if TFmode long double should be used by default or not. - # Some glibc targets used DFmode long double, but with glibc 2.4 - # and later they can use TFmode. diff --git a/sources b/sources index 2053d13..e6e4765 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -1a6176b6ef7310934d56813046a365e2 gcc-4.6.0-20110304.tar.bz2 +e172f5aae4538134f02616c3f9b1a5c6 gcc-4.6.0-20110315.tar.bz2