diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2010-03-26 19:22:37 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2010-03-26 19:22:37 +0100 |
commit | fb04bb842fb8e5eb49f8066953da8e9064c24453 (patch) | |
tree | bf7e4f3146a98fe97ef7977f199855fa2a208fcb | |
parent | 7cbd785e801c9f9b7e854e5a5680103fed5f5e6e (diff) | |
download | gcc-fb04bb842fb8e5eb49f8066953da8e9064c24453.zip gcc-fb04bb842fb8e5eb49f8066953da8e9064c24453.tar.gz gcc-fb04bb842fb8e5eb49f8066953da8e9064c24453.tar.bz2 |
re PR target/43524 (ICE: in ix86_expand_prologue, at config/i386/i386.c:8636 with -mstack-arg-probe on x86_64-linux)
PR target/43524
* config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
Remove invalid assert and wrong comment.
testsuite/ChangeLog:
PR target/43524
* gcc.target/i386/pr43524.c: New test.
From-SVN: r157757
-rw-r--r-- | gcc/ChangeLog | 51 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 39 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr43524.c | 9 |
4 files changed, 55 insertions, 47 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0e8d0b9..ffd5150 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-03-26 Uros Bizjak <ubizjak@gmail.com> + + PR target/43524 + * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]: + Remove invalid assert and wrong comment. + 2010-03-26 Jakub Jelinek <jakub@redhat.com> PR debug/43516 @@ -34,8 +40,7 @@ 2010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com> - * config/rs6000/constraints.md: Update copyright year for my - changes. + * config/rs6000/constraints.md: Update copyright year for my changes. PR target/43484 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is @@ -95,8 +100,7 @@ (output_addr_const_extra): Likewise. (output_pic_addr_const): Lowercase @TPOFF. (output_addr_const_extra): Likewise. - * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase - @TLSGD. + * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD. (*tls_global_dynamic_64): Likewise. (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM. (*tls_local_dynamic_base_64): Lowercase @TLSLD. @@ -106,8 +110,7 @@ * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef. PR target/38118 - * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to - tm_file. + * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file. * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ... * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here. * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine. @@ -153,12 +156,12 @@ PR target/43348 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp, - call_value_gp,sibcall_gp): Use 's' constraint not 'i'. + call_value_gp, sibcall_gp): Use 's' constraint not 'i'. 2010-03-22 H.J. Lu <hongjiu.lu@intel.com> - * config/i386/i386.c (ix86_target_string): Fix a typo in comments. - Add -mfma. + * config/i386/i386.c (ix86_target_string): Add -mfma. + Fix a typo in comment. 2010-03-22 Mike Stump <mikestump@comcast.net> @@ -175,17 +178,15 @@ * doc/configfiles.texi (Configuration Files): Removed fixinc/Makefile*, intl/Makefile.*. - * doc/makefile.texi: Fixed markup. - Abstract from version control system used. + * doc/makefile.texi: Fixed markup. Abstract from version + control system used. (Makefile): Removed obsolete gcc/java/parse.y example. * doc/sourcebuild.texi: Likewise. (Top Level): Added config, gnattools, libdecnumber, libgcc, - libgomp, libssp. - Removed fastjar. + libgomp, libssp. Removed fastjar. (Miscellaneous Docs): Clarify location. Added COPYING3, COPYING3.LIB. - (Front End Directory): Moved Make-lang.in entry to new - subsubsection. + (Front End Directory): Moved Make-lang.in entry to new subsubsection. 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> @@ -272,8 +273,8 @@ 2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com> PR c/43211 - * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was an - error. + * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was + an error. 2010-03-19 Bernd Schmidt <bernd.schmidt@codesourcery.com> @@ -372,8 +373,7 @@ PR bootstrap/43403 * var-tracking.c (vt_init_cfa_base): Do nothing if - cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed - register. + cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register. 2010-03-18 Alexandre Oliva <aoliva@redhat.com> @@ -399,8 +399,7 @@ * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare. * cgraphunit.c (cgraph_materialize_all_clones): Update calls in all non-clones. Moved call redirection... - (cgraph_redirect_edge_call_stmt_to_callee): ...to this new - function. + (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function. (cgraph_materialize_all_clones): Dispose of all combined_args_to_skip bitmaps. (verify_cgraph_node): Do not check for edges pointing to wrong @@ -471,8 +470,7 @@ appending a use to an empty chain. (build_def_use): Remove previous changes that convert OP_INOUT to OP_OUT operands; instead detect the case where an OP_INOUT operand - uses a previously untracked register and create an empty chain for - it. + uses a previously untracked register and create an empty chain for it. 2010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> @@ -510,9 +508,8 @@ 2010-03-16 Richard Guenther <rguenther@suse.de> PR middle-end/43379 - * tree-cfg.c (gimple_merge_blocks): When propagating virtual - PHI operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI - properly. + * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI + operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly. 2010-03-16 Aldy Hernandez <aldyh@redhat.com> Alexandre Oliva <aoliva@redhat.com> @@ -530,7 +527,7 @@ cfa_base_preserved_val): New static variables. (preserve_only_constants): New function. (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't - clear its REG_VALUES. If cselib_preserve_constants, don't + clear its REG_VALUES. If cselib_preserve_constants, don't empty the whole hash table, but preserve there VALUEs with constants, cfa_base_preserved_val and cfa_base_preserved_val plus constant. (cselib_preserve_cfa_base_value): New function. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 35b4c49..985a3e5 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -8628,13 +8628,10 @@ ix86_expand_prologue (void) ix86_cfa_state->reg == stack_pointer_rtx); else { - /* Only valid for Win32. */ rtx eax = gen_rtx_REG (Pmode, AX_REG); bool eax_live; rtx t; - gcc_assert (!TARGET_64BIT || cfun->machine->call_abi == MS_ABI); - if (cfun->machine->call_abi == MS_ABI) eax_live = false; else diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d124d4a..c61e37c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,7 +1,12 @@ +2010-03-26 Uros Bizjak <ubizjak@gmail.com> + + PR target/43524 + * gcc.target/i386/pr43524.c: New test. + 2010-03-26 Martin Jambor <mjambor@suse.cz> - * gcc/testsuite/gcc.dg/tree-ssa/loadpre1.c: Deleted trailing - whitespace, renamed main to foo. + * gcc/testsuite/gcc.dg/tree-ssa/loadpre1.c: Delete trailing + whitespace, rename main to foo. * gcc/testsuite/gcc.dg/tree-ssa/loadpre14.c: Likewise. * gcc/testsuite/gcc.dg/tree-ssa/loadpre15.c: Likewise. * gcc/testsuite/gcc.dg/tree-ssa/loadpre16.c: Likewise. @@ -37,7 +42,7 @@ * objc-obj-c++-shared/next-mapping.h: New file. * objc/execute/next_mapping.h: Delete. * objc.dg/special/special.exp: For all targets run the tests with - -fgnu-runtime, for darwin targets also run the tests with + -fgnu-runtime, for darwin targets also run the tests with -fnext-runtime. * objc.dg/dg.exp: Ditto. * obj-c++.dg/dg.exp: Ditto. @@ -46,7 +51,7 @@ include use of updated NeXT interface. * objc/execute/formal_protocol-5.m: Ditto. * objc/execute/protocol-isEqual-2.m: Ditto. - * objc/execute/protocol-isEqual-4.m: Ditto. + * objc/execute/protocol-isEqual-4.m: Ditto. * objc/execute/class-11.m: Use shared wrapper headers (Object1.h, Protocol1.h) and next-mapping.h as required. * objc/execute/object_is_class.m: Ditto. @@ -188,7 +193,7 @@ * objc.dg/fix-and-continue-2.m: Ditto. * objc.dg/method-9.m: Ditto. * objc.dg/isa-field-1.m: Ditto. - * objc.dg/local-decl-2.m: Ditto. + * objc.dg/local-decl-2.m: Ditto. * objc.dg/objc-gc-4.m: Ditto. * objc.dg/type-stream-1.m: Skip for NeXT runtime. * objc.dg/gnu-runtime-3.m: Ditto. @@ -197,7 +202,7 @@ * objc.dg/selector-3.m: Ditto. * objc.dg/gnu-runtime-1.m: Ditto. * objc.dg/const-str-12.m: Ditto. - * objc.dg/gnu-runtime-2.m: Ditto. + * objc.dg/gnu-runtime-2.m: Ditto. * objc.dg/no-extra-load.m: Skip for gnu-runtime. * objc.dg/selector-1.m: Ditto. * objc.dg/stubify-2.m: Ditto. @@ -207,27 +212,27 @@ * objc.dg/next-runtime-1.m: Ditto. * objc.dg/symtab-1.m: Ditto. * objc.dg/stubify-1.m: Ditto. - * objc.dg/bitfield-2.m: Ditto. + * objc.dg/bitfield-2.m: Ditto. * objc.dg/try-catch-10.m: Apply to both runtimes. * objc.dg/const-str-1.m: Ditto. * objc.dg/image-info.m: Ditto. - * objc.dg/encode-9.m: Ditto. + * objc.dg/encode-9.m: Ditto. * objc.dg/pragma-1.m: Apply test to all targets. * objc.dg/const-str-4.m: Ditto. * objc.dg/const-str-8.m: Ditto. * objc.dg/super-class-2.m: Ditto. * objc.dg/try-catch-5.m: Ditto. * objc.dg/const-str-10.m: Use shared wrapper headers (Object1.h, - Protocol1.h) and next-mapping.h as required. Use new NeXT + Protocol1.h) and next-mapping.h as required. Use new NeXT interface as required. Skip for gnu-runtime. Test for .quad at m64. * objc.dg/const-str-11.m: Ditto. - * objc.dg/const-str-9.m: Ditto. + * objc.dg/const-str-9.m: Ditto. * objc.dg/method-4.m: Skip for 64Bit NeXT. * objc.dg/encode-1.m: Remove redundant -lobjc. * objc.dg/try-catch-9.m: Tidy space. * obj-c++.dg/method-19.mm: Use shared wrapper headers (Object1.h, - Protocol1.h) and next-mapping.h as required. XFAIL run if NeXT + Protocol1.h) and next-mapping.h as required. XFAIL run if NeXT and 64bit. Use new NeXT interface as required. * obj-c++.dg/template-4.mm: Ditto. * obj-c++.dg/defs.mm: Ditto. @@ -247,7 +252,7 @@ * obj-c++.dg/template-1.mm: Ditto. * obj-c++.dg/encode-6.mm: Ditto. * obj-c++.dg/bitfield-2.mm: Use shared wrapper headers (Object1.h, - Protocol1.h) and next-mapping.h as required. Use new NeXT + Protocol1.h) and next-mapping.h as required. Use new NeXT interface as required. * obj-c++.dg/except-1.mm: Ditto. * obj-c++.dg/const-str-7.mm: Ditto. @@ -292,15 +297,15 @@ * obj-c++.dg/gnu-runtime-2.mm: Skip if NeXT runtime. * obj-c++.dg/gnu-runtime-3.mm: Ditto. * obj-c++.dg/gnu-runtime-1.mm: Ditto. - * objc.dg/zero-link-2.m: Skip if gnu runtime. Use shared wrapper - headers (Object1.h, Protocol1.h) and next-mapping.h as required. + * objc.dg/zero-link-2.m: Skip if gnu runtime. Use shared wrapper + headers (Object1.h, Protocol1.h) and next-mapping.h as required. Use new NeXT interface as required. * obj-c++.dg/const-str-10.mm: Ditto. * obj-c++.dg/const-str-11.mm: Ditto. * obj-c++.dg/const-str-9.mm: Ditto. * obj-c++.dg/method-11.mm: Ditto. - * obj-c++.dg/cxx-ivars-3.mm: Skip if gnu runtime. Use shared wrapper - headers (Object1.h, Protocol1.h) and next-mapping.h as required. + * obj-c++.dg/cxx-ivars-3.mm: Skip if gnu runtime. Use shared wrapper + headers (Object1.h, Protocol1.h) and next-mapping.h as required. Use new NeXT interface as required. XFAIL run if NeXT and 64bit. * obj-c++.dg/encode-8.mm: Remove redundant -lobjc. * obj-c++.dg/const-str-1.mm: Run for NeXT as well as gnu. @@ -343,7 +348,7 @@ 2010-03-24 Martin Jambor <mjambor@suse.cz> * gcc.dg/ipa/ipa-1.c: Delete trailing spaces, put the call to f into - a loop. + a loop. * gcc.dg/ipa/ipa-2.c: Likewise. * gcc.dg/ipa/ipa-3.c: Likewise. * gcc.dg/ipa/ipa-4.c: Likewise. diff --git a/gcc/testsuite/gcc.target/i386/pr43524.c b/gcc/testsuite/gcc.target/i386/pr43524.c new file mode 100644 index 0000000..b266270 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr43524.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ +/* { dg-options "-mstack-arg-probe" } */ + +extern void bar (void); + +void foo (int i) +{ + bar (); +} |