diff --git a/.gitignore b/.gitignore index f9e6c5b..0512b92 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /gcc-4.6.1-20110708.tar.bz2 /gcc-4.6.1-20110715.tar.bz2 /gcc-4.6.1-20110727.tar.bz2 +/gcc-4.6.1-20110731.tar.bz2 diff --git a/gcc.spec b/gcc.spec index a8bfa2c..1944872 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20110727 -%global SVNREV 176825 +%global DATE 20110731 +%global SVNREV 176973 %global gcc_version 4.6.1 # 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 4 +%global gcc_release 5 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha @@ -169,8 +169,6 @@ Patch15: gcc46-libstdc++-docs.patch Patch17: gcc46-no-add-needed.patch Patch18: gcc46-ppl-0.10.patch Patch19: gcc46-pr47858.patch -Patch20: gcc46-pr49846.patch -Patch21: gcc46-pr49866.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -642,8 +640,6 @@ package or when debugging this package. %patch18 -p0 -b .ppl-0.10~ %endif %patch19 -p0 -b .pr47858~ -%patch20 -p0 -b .pr49846~ -%patch21 -p0 -b .pr49866~ %if 0%{?_enable_debug_packages} cat > split-debuginfo.sh <<\EOF @@ -2453,6 +2449,13 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin %changelog +* Sun Jul 31 2011 Jakub Jelinek 4.6.1-5 +- update from the 4.6 branch + - PRs debug/49871, fortran/48876, fortran/49791, middle-end/49897, + middle-end/49898, rtl-optimization/49799, target/47364 +- don't attempt to size optimize -gdwarf-2 DW_AT_data_member_location + from DW_OP_plus_uconst form + * Wed Jul 27 2011 Jakub Jelinek 4.6.1-4 - update from the 4.6 branch - PRs ada/49819, c++/49785, debug/47393, fortran/49648, fortran/49708, diff --git a/gcc46-pr49846.patch b/gcc46-pr49846.patch deleted file mode 100644 index bfe8bcf..0000000 --- a/gcc46-pr49846.patch +++ /dev/null @@ -1,32 +0,0 @@ -2011-07-26 Jakub Jelinek - - PR debug/49846 - * var-tracking.c (prepare_call_arguments): For non-MODE_INT stack - arguments also check if they aren't initialized with a MODE_INT - mode of the same size. - ---- gcc/var-tracking.c.jj 2011-07-22 22:15:02.000000000 +0200 -+++ gcc/var-tracking.c 2011-07-26 15:51:35.000000000 +0200 -@@ -5777,6 +5777,22 @@ prepare_call_arguments (basic_block bb, - val = cselib_lookup (mem, GET_MODE (mem), 0, VOIDmode); - if (val && cselib_preserved_value_p (val)) - item = gen_rtx_CONCAT (GET_MODE (x), copy_rtx (x), val->val_rtx); -+ else if (GET_MODE_CLASS (GET_MODE (mem)) != MODE_INT) -+ { -+ /* For non-integer stack argument see also if they weren't -+ initialized by integers. */ -+ enum machine_mode imode = int_mode_for_mode (GET_MODE (mem)); -+ if (imode != GET_MODE (mem) && imode != BLKmode) -+ { -+ val = cselib_lookup (adjust_address_nv (mem, imode, 0), -+ imode, 0, VOIDmode); -+ if (val && cselib_preserved_value_p (val)) -+ item = gen_rtx_CONCAT (GET_MODE (x), copy_rtx (x), -+ lowpart_subreg (GET_MODE (x), -+ val->val_rtx, -+ imode)); -+ } -+ } - } - if (item) - call_arguments = gen_rtx_EXPR_LIST (VOIDmode, item, call_arguments); diff --git a/gcc46-pr49866.patch b/gcc46-pr49866.patch deleted file mode 100644 index e89bca6..0000000 --- a/gcc46-pr49866.patch +++ /dev/null @@ -1,324 +0,0 @@ -2011-07-27 Jakub Jelinek - - PR target/49866 - * config/i386/i386.md (*call_pop_1_vzeroupper, *call_pop_1, - *sibcall_pop_1_vzeroupper, *sibcall_pop_1, *call_1_vzeroupper, - *call_1, *sibcall_1_vzeroupper, *sibcall_1, *call_1_rex64_vzeroupper, - *call_1_rex64, *call_1_rex64_ms_sysv_vzeroupper, - *call_1_rex64_ms_sysv, *sibcall_1_rex64_vzeroupper, - *sibcall_1_rex64, *call_value_pop_1_vzeroupper, - *call_value_pop_1, *sibcall_value_pop_1_vzeroupper, - *sibcall_value_pop_1, *call_value_1_vzeroupper, - *call_value_1, *sibcall_value_1_vzeroupper, - *sibcall_value_1, *call_value_1_rex64_vzeroupper, - *call_value_1_rex64, *call_value_1_rex64_ms_sysv_vzeroupper, - *call_value_1_rex64_ms_sysv, *sibcall_value_1_rex64_vzeroupper, - *sibcall_value_1_rex64): Use z constraint instead of s constraint. - - Backport from mainline - 2011-05-16 Uros Bizjak - - * config/i386/constraints.md (z): New constraint. -testsuite/ - * gcc.target/i386/pr49866.c: New test. - ---- gcc/config/i386/constraints.md.jj 2011-05-18 12:00:01.000000000 +0200 -+++ gcc/config/i386/constraints.md 2011-07-27 14:28:06.000000000 +0200 -@@ -19,7 +19,7 @@ - - ;;; Unused letters: - ;;; B H T W --;;; h jk vw z -+;;; h jk vw - - ;; Integer register constraints. - ;; It is not necessary to define 'r' here. -@@ -105,6 +105,10 @@ (define_register_constraint "Ym" - "TARGET_MMX && TARGET_INTER_UNIT_MOVES ? MMX_REGS : NO_REGS" - "@internal Any MMX register, when inter-unit moves are enabled.") - -+(define_constraint "z" -+ "@internal Constant call address operand." -+ (match_operand 0 "constant_call_address_operand")) -+ - ;; Integer constant constraints. - (define_constraint "I" - "Integer constant in the range 0 @dots{} 31, for 32-bit shifts." ---- gcc/config/i386/i386.md.jj 2011-07-27 13:45:38.000000000 +0200 -+++ gcc/config/i386/i386.md 2011-07-27 14:30:16.000000000 +0200 -@@ -11350,7 +11350,7 @@ (define_insn "*call_pop_0" - - (define_insn_and_split "*call_pop_1_vzeroupper" - [(parallel -- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm")) -+ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lzm")) - (match_operand:SI 1 "" "")) - (set (reg:SI SP_REG) - (plus:SI (reg:SI SP_REG) -@@ -11365,7 +11365,7 @@ (define_insn_and_split "*call_pop_1_vzer - [(set_attr "type" "call")]) - - (define_insn "*call_pop_1" -- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm")) -+ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lzm")) - (match_operand:SI 1 "" "")) - (set (reg:SI SP_REG) - (plus:SI (reg:SI SP_REG) -@@ -11380,7 +11380,7 @@ (define_insn "*call_pop_1" - - (define_insn_and_split "*sibcall_pop_1_vzeroupper" - [(parallel -- [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U")) -+ [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "z,U")) - (match_operand:SI 1 "" "")) - (set (reg:SI SP_REG) - (plus:SI (reg:SI SP_REG) -@@ -11395,7 +11395,7 @@ (define_insn_and_split "*sibcall_pop_1_v - [(set_attr "type" "call")]) - - (define_insn "*sibcall_pop_1" -- [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U")) -+ [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "z,U")) - (match_operand:SI 1 "" "")) - (set (reg:SI SP_REG) - (plus:SI (reg:SI SP_REG) -@@ -11446,7 +11446,7 @@ (define_insn "*call_0" - [(set_attr "type" "call")]) - - (define_insn_and_split "*call_1_vzeroupper" -- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm")) -+ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lzm")) - (match_operand 1 "" "")) - (unspec [(match_operand 2 "const_int_operand" "")] - UNSPEC_CALL_NEEDS_VZEROUPPER)] -@@ -11458,14 +11458,14 @@ (define_insn_and_split "*call_1_vzeroupp - [(set_attr "type" "call")]) - - (define_insn "*call_1" -- [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm")) -+ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lzm")) - (match_operand 1 "" ""))] - "!TARGET_64BIT && !SIBLING_CALL_P (insn)" - { return ix86_output_call_insn (insn, operands[0], 0); } - [(set_attr "type" "call")]) - - (define_insn_and_split "*sibcall_1_vzeroupper" -- [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U")) -+ [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "z,U")) - (match_operand 1 "" "")) - (unspec [(match_operand 2 "const_int_operand" "")] - UNSPEC_CALL_NEEDS_VZEROUPPER)] -@@ -11477,14 +11477,14 @@ (define_insn_and_split "*sibcall_1_vzero - [(set_attr "type" "call")]) - - (define_insn "*sibcall_1" -- [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U")) -+ [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "z,U")) - (match_operand 1 "" ""))] - "!TARGET_64BIT && SIBLING_CALL_P (insn)" - { return ix86_output_call_insn (insn, operands[0], 0); } - [(set_attr "type" "call")]) - - (define_insn_and_split "*call_1_rex64_vzeroupper" -- [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rsm")) -+ [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm")) - (match_operand 1 "" "")) - (unspec [(match_operand 2 "const_int_operand" "")] - UNSPEC_CALL_NEEDS_VZEROUPPER)] -@@ -11497,7 +11497,7 @@ (define_insn_and_split "*call_1_rex64_vz - [(set_attr "type" "call")]) - - (define_insn "*call_1_rex64" -- [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rsm")) -+ [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm")) - (match_operand 1 "" ""))] - "TARGET_64BIT && !SIBLING_CALL_P (insn) - && ix86_cmodel != CM_LARGE && ix86_cmodel != CM_LARGE_PIC" -@@ -11506,7 +11506,7 @@ (define_insn "*call_1_rex64" - - (define_insn_and_split "*call_1_rex64_ms_sysv_vzeroupper" - [(parallel -- [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rsm")) -+ [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm")) - (match_operand 1 "" "")) - (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL) - (clobber (reg:TI XMM6_REG)) -@@ -11531,7 +11531,7 @@ (define_insn_and_split "*call_1_rex64_ms - [(set_attr "type" "call")]) - - (define_insn "*call_1_rex64_ms_sysv" -- [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rsm")) -+ [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm")) - (match_operand 1 "" "")) - (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL) - (clobber (reg:TI XMM6_REG)) -@@ -11570,7 +11570,7 @@ (define_insn "*call_1_rex64_large" - [(set_attr "type" "call")]) - - (define_insn_and_split "*sibcall_1_rex64_vzeroupper" -- [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "s,U")) -+ [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "z,U")) - (match_operand 1 "" "")) - (unspec [(match_operand 2 "const_int_operand" "")] - UNSPEC_CALL_NEEDS_VZEROUPPER)] -@@ -11582,7 +11582,7 @@ (define_insn_and_split "*sibcall_1_rex64 - [(set_attr "type" "call")]) - - (define_insn "*sibcall_1_rex64" -- [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "s,U")) -+ [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "z,U")) - (match_operand 1 "" ""))] - "TARGET_64BIT && SIBLING_CALL_P (insn)" - { return ix86_output_call_insn (insn, operands[0], 0); } -@@ -17576,7 +17576,7 @@ (define_insn "*call_value_pop_0" - (define_insn_and_split "*call_value_pop_1_vzeroupper" - [(parallel - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm")) -+ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lzm")) - (match_operand:SI 2 "" ""))) - (set (reg:SI SP_REG) - (plus:SI (reg:SI SP_REG) -@@ -17592,7 +17592,7 @@ (define_insn_and_split "*call_value_pop_ - - (define_insn "*call_value_pop_1" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm")) -+ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lzm")) - (match_operand:SI 2 "" ""))) - (set (reg:SI SP_REG) - (plus:SI (reg:SI SP_REG) -@@ -17604,7 +17604,7 @@ (define_insn "*call_value_pop_1" - (define_insn_and_split "*sibcall_value_pop_1_vzeroupper" - [(parallel - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U")) -+ (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "z,U")) - (match_operand:SI 2 "" ""))) - (set (reg:SI SP_REG) - (plus:SI (reg:SI SP_REG) -@@ -17620,7 +17620,7 @@ (define_insn_and_split "*sibcall_value_p - - (define_insn "*sibcall_value_pop_1" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U")) -+ (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "z,U")) - (match_operand:SI 2 "" ""))) - (set (reg:SI SP_REG) - (plus:SI (reg:SI SP_REG) -@@ -17721,7 +17721,7 @@ (define_insn "*call_value_0_rex64_ms_sys - - (define_insn_and_split "*call_value_1_vzeroupper" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm")) -+ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lzm")) - (match_operand:SI 2 "" ""))) - (unspec [(match_operand 3 "const_int_operand" "")] - UNSPEC_CALL_NEEDS_VZEROUPPER)] -@@ -17734,7 +17734,7 @@ (define_insn_and_split "*call_value_1_vz - - (define_insn "*call_value_1" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm")) -+ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lzm")) - (match_operand:SI 2 "" "")))] - "!TARGET_64BIT && !SIBLING_CALL_P (insn)" - { return ix86_output_call_insn (insn, operands[1], 1); } -@@ -17742,7 +17742,7 @@ (define_insn "*call_value_1" - - (define_insn_and_split "*sibcall_value_1_vzeroupper" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U")) -+ (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "z,U")) - (match_operand:SI 2 "" ""))) - (unspec [(match_operand 3 "const_int_operand" "")] - UNSPEC_CALL_NEEDS_VZEROUPPER)] -@@ -17755,7 +17755,7 @@ (define_insn_and_split "*sibcall_value_1 - - (define_insn "*sibcall_value_1" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U")) -+ (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "z,U")) - (match_operand:SI 2 "" "")))] - "!TARGET_64BIT && SIBLING_CALL_P (insn)" - { return ix86_output_call_insn (insn, operands[1], 1); } -@@ -17763,7 +17763,7 @@ (define_insn "*sibcall_value_1" - - (define_insn_and_split "*call_value_1_rex64_vzeroupper" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rsm")) -+ (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm")) - (match_operand:DI 2 "" ""))) - (unspec [(match_operand 3 "const_int_operand" "")] - UNSPEC_CALL_NEEDS_VZEROUPPER)] -@@ -17777,7 +17777,7 @@ (define_insn_and_split "*call_value_1_re - - (define_insn "*call_value_1_rex64" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rsm")) -+ (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm")) - (match_operand:DI 2 "" "")))] - "TARGET_64BIT && !SIBLING_CALL_P (insn) - && ix86_cmodel != CM_LARGE && ix86_cmodel != CM_LARGE_PIC" -@@ -17787,7 +17787,7 @@ (define_insn "*call_value_1_rex64" - (define_insn_and_split "*call_value_1_rex64_ms_sysv_vzeroupper" - [(parallel - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rsm")) -+ (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm")) - (match_operand:DI 2 "" ""))) - (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL) - (clobber (reg:TI XMM6_REG)) -@@ -17813,7 +17813,7 @@ (define_insn_and_split "*call_value_1_re - - (define_insn "*call_value_1_rex64_ms_sysv" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rsm")) -+ (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm")) - (match_operand:DI 2 "" ""))) - (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL) - (clobber (reg:TI XMM6_REG)) -@@ -17855,7 +17855,7 @@ (define_insn "*call_value_1_rex64_large" - - (define_insn_and_split "*sibcall_value_1_rex64_vzeroupper" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "s,U")) -+ (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "z,U")) - (match_operand:DI 2 "" ""))) - (unspec [(match_operand 3 "const_int_operand" "")] - UNSPEC_CALL_NEEDS_VZEROUPPER)] -@@ -17868,7 +17868,7 @@ (define_insn_and_split "*sibcall_value_1 - - (define_insn "*sibcall_value_1_rex64" - [(set (match_operand 0 "" "") -- (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "s,U")) -+ (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "z,U")) - (match_operand:DI 2 "" "")))] - "TARGET_64BIT && SIBLING_CALL_P (insn)" - { return ix86_output_call_insn (insn, operands[1], 1); } ---- gcc/testsuite/gcc.target/i386/pr49866.c.jj 2011-07-27 14:45:22.000000000 +0200 -+++ gcc/testsuite/gcc.target/i386/pr49866.c 2011-07-27 14:46:05.000000000 +0200 -@@ -0,0 +1,23 @@ -+/* PR target/49866 */ -+/* { dg-do assemble } */ -+/* { dg-options "-O2 -mcmodel=large" { target lp64 } } */ -+ -+void fn (void *, int, int); -+int fn2 (void); -+void baz (int); -+ -+static void -+foo (void *x, int y) -+{ -+ int i; -+ for (i = 0; i < y; i++) -+ fn (x, fn2 (), i); -+} -+ -+void -+bar (int u, int v, int w, void *x) -+{ -+ baz (u); -+ foo (x, w); -+ baz (u); -+} diff --git a/sources b/sources index 0e98d46..41b3985 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -6c99dcea259b6eb6cf8008deceae7e74 gcc-4.6.1-20110727.tar.bz2 +d6bfd89d2040092fd0498b0b72c2b964 gcc-4.6.1-20110731.tar.bz2