From e31e9a02d75435371bfdbd6ea25eda01be2365c4 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 15 Oct 2009 18:53:25 +0000 Subject: [PATCH] 4.4.2-1 --- .cvsignore | 2 +- gcc.spec | 31 +++++--- gcc44-powerpc-with-tune.patch | 30 -------- gcc44-pr40521.patch | 139 ++++++++++++++++++++++++++++++++++ sources | 2 +- 5 files changed, 162 insertions(+), 42 deletions(-) delete mode 100644 gcc44-powerpc-with-tune.patch create mode 100644 gcc44-pr40521.patch diff --git a/.cvsignore b/.cvsignore index 07d3c3c..5d9a1f6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ fastjar-0.97.tar.gz -gcc-4.4.1-20091014.tar.bz2 +gcc-4.4.2-20091015.tar.bz2 diff --git a/gcc.spec b/gcc.spec index b863990..65bd3ea 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20091014 -%global SVNREV 152775 -%global gcc_version 4.4.1 +%global DATE 20091015 +%global SVNREV 152859 +%global gcc_version 4.4.2 # 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 22 +%global gcc_release 1 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %global include_gappletviewer 1 @@ -65,7 +65,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8 # Need binutils which support --build-id >= 2.17.50.0.17-3 # Need binutils which support %gnu_unique_object >= 2.19.51.0.14 -BuildRequires: binutils >= 2.19.51.0.14 +# Need binutils which support .cfi_sections >= 2.19.51.0.14-33 +BuildRequires: binutils >= 2.19.51.0.14-33 # While gcc doesn't include statically linked binaries, during testing # -static is used several times. BuildRequires: glibc-static @@ -118,8 +119,9 @@ Requires: cpp = %{version}-%{release} # Need binutils that supports --hash-style=gnu # Need binutils that support mffgpr/mftgpr # Need binutils that support --build-id -# Need binutils which support %gnu_unique_object -Requires: binutils >= 2.19.51.0.14 +# Need binutils that support %gnu_unique_object +# Need binutils that support .cfi_sections +Requires: binutils >= 2.19.51.0.14-33 # Make sure gdb will understand DW_FORM_strp Conflicts: gdb < 5.1-2 Requires: glibc-devel >= 2.2.90-12 @@ -160,7 +162,7 @@ Patch16: gcc44-unwind-debug-hook.patch Patch17: gcc44-pr38757.patch Patch18: gcc44-libstdc++-docs.patch Patch19: gcc44-ppc64-aixdesc.patch -Patch20: gcc44-powerpc-with-tune.patch +Patch20: gcc44-pr40521.patch Patch21: gcc44-unwind-leltgegt.patch Patch1000: fastjar-0.97-segfault.patch @@ -468,7 +470,7 @@ which are required to compile with the GNAT. %patch18 -p0 -b .libstdc++-docs~ %endif %patch19 -p0 -b .ppc64-aixdesc~ -%patch20 -p0 -b .powerpc-with-tune~ +%patch20 -p0 -b .pr40521~ %patch21 -p0 -b .unwind-leltgegt~ # This testcase doesn't compile. @@ -482,7 +484,7 @@ tar xzf %{SOURCE4} tar xjf %{SOURCE10} %endif -sed -i -e 's/4\.4\.2/4.4.1/' gcc/BASE-VER +sed -i -e 's/4\.4\.3/4.4.2/' gcc/BASE-VER echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE # Default to -gdwarf-3 rather than -gdwarf-2 @@ -1844,6 +1846,15 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Thu Oct 15 2009 Jakub Jelinek 4.4.2-1 +- update from gcc-4_4-branch + - GCC 4.4.2 release + - PRs middle-end/22072, target/41665 +- don't emit -Wpadded warnings for builtin structures +- don't generate .eh_frame, but generate .debug_frame when -g and none of + -fasynchronous-unwind-tables/-fexceptions/-funwind-tables is used + (PR debug/40521) + * Wed Oct 14 2009 Jakub Jelinek 4.4.1-22 - update from gcc-4_4-branch - PRs target/26515, target/38948 diff --git a/gcc44-powerpc-with-tune.patch b/gcc44-powerpc-with-tune.patch deleted file mode 100644 index b4f14ac..0000000 --- a/gcc44-powerpc-with-tune.patch +++ /dev/null @@ -1,30 +0,0 @@ -2009-10-14 Jakub Jelinek - - * config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Don't - add --with-tune{,-32,-64} configured default for -mtune if explicit - -mcpu is used. - ---- gcc/config/rs6000/option-defaults.h.jj 2009-06-02 18:36:50.000000000 +0200 -+++ gcc/config/rs6000/option-defaults.h 2009-10-14 18:28:50.134723716 +0200 -@@ -50,15 +50,15 @@ - /* Support for a compile-time default CPU, et cetera. The rules are: - --with-cpu is ignored if -mcpu is specified; likewise --with-cpu-32 - and --with-cpu-64. -- --with-tune is ignored if -mtune is specified; likewise --with-tune-32 -- and --with-tune-64. -+ --with-tune is ignored if -mtune or -mcpu is specified; likewise -+ --with-tune-32 and --with-tune-64. - --with-float is ignored if -mhard-float or -msoft-float are -- specified. */ -+ specified. */ - #define OPTION_DEFAULT_SPECS \ -+ {"tune", "%{!mtune=*:%{!mcpu=*:-mtune=%(VALUE)}}" }, \ -+ {"tune_32", "%{" OPT_ARCH32 ":%{!mtune=*:%{!mcpu=*:-mtune=%(VALUE)}}}" }, \ -+ {"tune_64", "%{" OPT_ARCH64 ":%{!mtune=*:%{!mcpu=*:-mtune=%(VALUE)}}}" }, \ - {"cpu", "%{!mcpu=*:-mcpu=%(VALUE)}" }, \ - {"cpu_32", "%{" OPT_ARCH32 ":%{!mcpu=*:-mcpu=%(VALUE)}}" }, \ - {"cpu_64", "%{" OPT_ARCH64 ":%{!mcpu=*:-mcpu=%(VALUE)}}" }, \ -- {"tune", "%{!mtune=*:-mtune=%(VALUE)}" }, \ -- {"tune_32", "%{" OPT_ARCH32 ":%{!mtune=*:-mtune=%(VALUE)}}" }, \ -- {"tune_64", "%{" OPT_ARCH64 ":%{!mtune=*:-mtune=%(VALUE)}}" }, \ - {"float", "%{!msoft-float:%{!mhard-float:-m%(VALUE)-float}}" } diff --git a/gcc44-pr40521.patch b/gcc44-pr40521.patch new file mode 100644 index 0000000..2a93452 --- /dev/null +++ b/gcc44-pr40521.patch @@ -0,0 +1,139 @@ +2009-10-13 Mikael Pettersson + + Backport from mainline: + 2009-10-02 Jakub Jelinek + + PR debug/40521 + * configure.ac (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): New test. + * configure: Regenerated. + * config.in: Regenerated. + * dwarf2out.c (dwarf2out_do_cfi_asm): Return false if + !HAVE_GAS_CFI_SECTIONS_DIRECTIVE and not emitting .eh_frame. + (dwarf2out_init): If HAVE_GAS_CFI_SECTIONS_DIRECTIVE and + not emitting .eh_frame, emit .cfi_sections .debug_frame + directive. + + 2009-10-09 Jakub Jelinek + + PR debug/40521 + * dwarf2out.c (dwarf2out_init): Test whether + HAVE_GAS_CFI_SECTIONS_DIRECTIVE is non-zero instead of checking + it is defined. + +--- gcc/configure.ac 2009-03-24 18:46:03.000000000 +0100 ++++ gcc/configure.ac 2009-10-13 12:00:31.000000000 +0200 +@@ -2297,6 +2297,17 @@ AC_DEFINE_UNQUOTED(HAVE_GAS_CFI_PERSONAL + then echo 1; else echo 0; fi`], + [Define 0/1 if your assembler supports .cfi_personality.]) + ++gcc_GAS_CHECK_FEATURE([cfi sections directive], ++ gcc_cv_as_cfi_sections_directive, ,, ++[ .text ++ .cfi_sections .debug_frame, .eh_frame ++ .cfi_startproc ++ .cfi_endproc]) ++AC_DEFINE_UNQUOTED(HAVE_GAS_CFI_SECTIONS_DIRECTIVE, ++ [`if test $gcc_cv_as_cfi_sections_directive = yes; ++ then echo 1; else echo 0; fi`], ++ [Define 0/1 if your assembler supports .cfi_sections.]) ++ + # GAS versions up to and including 2.11.0 may mis-optimize + # .eh_frame data. + gcc_GAS_CHECK_FEATURE(eh_frame optimization, gcc_cv_as_eh_frame, +--- gcc/config.in 2009-07-22 09:43:59.000000000 +0200 ++++ gcc/config.in 2009-10-13 12:00:31.000000000 +0200 +@@ -839,6 +839,12 @@ + #endif + + ++/* Define 0/1 if your assembler supports .cfi_sections. */ ++#ifndef USED_FOR_TARGET ++#undef HAVE_GAS_CFI_SECTIONS_DIRECTIVE ++#endif ++ ++ + /* Define if your assembler uses the new HImode fild and fist notation. */ + #ifndef USED_FOR_TARGET + #undef HAVE_GAS_FILDS_FISTS +--- gcc/configure 2009-03-24 18:46:03.000000000 +0100 ++++ gcc/configure 2009-10-13 12:00:31.000000000 +0200 +@@ -21680,6 +21680,42 @@ cat >>confdefs.h <<_ACEOF + _ACEOF + + ++echo "$as_me:$LINENO: checking assembler for cfi sections directive" >&5 ++echo $ECHO_N "checking assembler for cfi sections directive... $ECHO_C" >&6 ++if test "${gcc_cv_as_cfi_sections_directive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ gcc_cv_as_cfi_sections_directive=no ++ if test x$gcc_cv_as != x; then ++ echo ' .text ++ .cfi_sections .debug_frame, .eh_frame ++ .cfi_startproc ++ .cfi_endproc' > conftest.s ++ if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ gcc_cv_as_cfi_sections_directive=yes ++ else ++ echo "configure: failed program was" >&5 ++ cat conftest.s >&5 ++ fi ++ rm -f conftest.o conftest.s ++ fi ++fi ++echo "$as_me:$LINENO: result: $gcc_cv_as_cfi_sections_directive" >&5 ++echo "${ECHO_T}$gcc_cv_as_cfi_sections_directive" >&6 ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE `if test $gcc_cv_as_cfi_sections_directive = yes; ++ then echo 1; else echo 0; fi` ++_ACEOF ++ ++ + # GAS versions up to and including 2.11.0 may mis-optimize + # .eh_frame data. + echo "$as_me:$LINENO: checking assembler for eh_frame optimization" >&5 +--- gcc/dwarf2out.c 2009-06-03 19:32:45.000000000 +0200 ++++ gcc/dwarf2out.c 2009-10-13 12:00:39.000000000 +0200 +@@ -145,7 +145,18 @@ dwarf2out_do_cfi_asm (void) + #endif + if (!flag_dwarf2_cfi_asm || !dwarf2out_do_frame ()) + return false; +- if (saved_do_cfi_asm || !eh_personality_libfunc) ++ if (saved_do_cfi_asm) ++ return true; ++ if (!HAVE_GAS_CFI_SECTIONS_DIRECTIVE) ++ { ++#ifdef TARGET_UNWIND_INFO ++ return false; ++#else ++ if (USING_SJLJ_EXCEPTIONS || (!flag_unwind_tables && !flag_exceptions)) ++ return false; ++#endif ++ } ++ if (!eh_personality_libfunc) + return true; + if (!HAVE_GAS_CFI_PERSONALITY_DIRECTIVE) + return false; +@@ -16133,6 +16144,14 @@ dwarf2out_init (const char *filename ATT + switch_to_section (cold_text_section); + ASM_OUTPUT_LABEL (asm_out_file, cold_text_section_label); + } ++ ++ if (HAVE_GAS_CFI_SECTIONS_DIRECTIVE && dwarf2out_do_cfi_asm ()) ++ { ++#ifndef TARGET_UNWIND_INFO ++ if (USING_SJLJ_EXCEPTIONS || (!flag_unwind_tables && !flag_exceptions)) ++#endif ++ fprintf (asm_out_file, "\t.cfi_sections\t.debug_frame\n"); ++ } + } + + /* A helper function for dwarf2out_finish called through diff --git a/sources b/sources index b73c0a9..7cfc5ec 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -4da2bce5563b5a133ced09b9391773e9 gcc-4.4.1-20091014.tar.bz2 +4df111e31b39e6a0d37ed5cbe2ff97a3 gcc-4.4.2-20091015.tar.bz2