* [Bug c++/60516] [4.9/4.8 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
@ 2014-03-16 20:37 ` ktietz at gcc dot gnu.org
2014-03-16 20:37 ` ktietz at gcc dot gnu.org
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktietz at gcc dot gnu.org @ 2014-03-16 20:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
Kai Tietz <ktietz at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/60516] [4.9/4.8 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
2014-03-16 20:37 ` [Bug c++/60516] [4.9/4.8 regression]: " ktietz at gcc dot gnu.org
@ 2014-03-16 20:37 ` ktietz at gcc dot gnu.org
2014-03-16 20:51 ` ktietz at gcc dot gnu.org
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktietz at gcc dot gnu.org @ 2014-03-16 20:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
Kai Tietz <ktietz at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-03-16
CC| |ktietz at gcc dot gnu.org
Summary|cc1plus crashes compiling a |[4.9/4.8 regression]:
|method with a huge struct |cc1plus crashes compiling a
|as argument |method with a huge struct
| |as argument
Ever confirmed|0 |1
--- Comment #2 from Kai Tietz <ktietz at gcc dot gnu.org> ---
Confirmed.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/60516] [4.9/4.8 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
2014-03-16 20:37 ` [Bug c++/60516] [4.9/4.8 regression]: " ktietz at gcc dot gnu.org
2014-03-16 20:37 ` ktietz at gcc dot gnu.org
@ 2014-03-16 20:51 ` ktietz at gcc dot gnu.org
2014-03-16 22:27 ` mikpelinux at gmail dot com
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktietz at gcc dot gnu.org @ 2014-03-16 20:51 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
--- Comment #3 from Kai Tietz <ktietz at gcc dot gnu.org> ---
Issue is that copy_rtx gets feed with invalid insn.
As (gdb) fr 1
#1 0x007ce0bf in ix86_expand_epilogue (style=style@entry=1)
at ../../gcc/gcc/config/i386/i386.c:11712
11712 copy_rtx (XVECEXP (PATTERN (insn), 0, 1)));
(gdb) call debug_rtx(insn)
(insn 15 14 0 (set (reg:SI 2 cx)
(mem:SI (post_inc:SI (reg/f:SI 7 sp)) [0 S4 A8])) -1
(nil))
(gdb) print (insn->u.fld[4]).rt_rtx
$2 = (rtx) 0xffe25630
(gdb) call debug_rtx((insn->u.fld[4]).rt_rtx)
(set (reg:SI 2 cx)
(mem:SI (post_inc:SI (reg/f:SI 7 sp)) [0 S4 A8]))
(gdb) print ((insn->u.fld[4]).rt_rtx->u.fld[0]).rt_rtvec->elem[1]
$3 = (rtx_def *) 0x2
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug c++/60516] [4.9/4.8 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (2 preceding siblings ...)
2014-03-16 20:51 ` ktietz at gcc dot gnu.org
@ 2014-03-16 22:27 ` mikpelinux at gmail dot com
2014-03-17 6:27 ` [Bug target/60516] [4.7/4.8/4.9 " jakub at gcc dot gnu.org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: mikpelinux at gmail dot com @ 2014-03-16 22:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
--- Comment #4 from Mikael Pettersson <mikpelinux at gmail dot com> ---
Started with r171890.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7/4.8/4.9 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (3 preceding siblings ...)
2014-03-16 22:27 ` mikpelinux at gmail dot com
@ 2014-03-17 6:27 ` jakub at gcc dot gnu.org
2014-03-17 6:28 ` jakub at gcc dot gnu.org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-17 6:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |jakub at gcc dot gnu.org
Component|c++ |target
Target Milestone|--- |4.7.4
Summary|[4.9/4.8 regression]: |[4.7/4.8/4.9 regression]:
|cc1plus crashes compiling a |cc1plus crashes compiling a
|method with a huge struct |method with a huge struct
|as argument |as argument
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Kai Tietz from comment #3)
> Issue is that copy_rtx gets feed with invalid insn.
No, it is fed completely valid insn, but just the note creation hasn't been
adjusted for the r163679 change.
(In reply to Mikael Pettersson from comment #4)
> Started with r171890.
With an improved C testcase actually with r163679.
struct S { char c[65536]; };
__attribute__((ms_abi, thiscall)) void
foo (void *x, struct S y)
{
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7/4.8/4.9 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (4 preceding siblings ...)
2014-03-17 6:27 ` [Bug target/60516] [4.7/4.8/4.9 " jakub at gcc dot gnu.org
@ 2014-03-17 6:28 ` jakub at gcc dot gnu.org
2014-03-17 8:24 ` ktietz at gcc dot gnu.org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-17 6:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 32367
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32367&action=edit
gcc49-pr60516.patch
Untested fix.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7/4.8/4.9 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (5 preceding siblings ...)
2014-03-17 6:28 ` jakub at gcc dot gnu.org
@ 2014-03-17 8:24 ` ktietz at gcc dot gnu.org
2014-03-17 9:12 ` jakub at gcc dot gnu.org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktietz at gcc dot gnu.org @ 2014-03-17 8:24 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
--- Comment #7 from Kai Tietz <ktietz at gcc dot gnu.org> ---
Thanks for the patch. I am about to do a full-regression test for it. This
will take some time.
Quick test has shown that issue isn't 'thiscall' specific at all. stdcall, and
fastcall calling-convention do have the same issues. So I would suggest to add
these two testcases to the patch, too.
/* PR target/60516 */
/* { dg-do compile } */
/* { dg-options "-O2" } */
struct S { char c[65536]; };
__attribute__((ms_abi, thiscall)) void
foo (void *x, struct S y)
{
}
--------------------
/* PR target/60516 */
/* { dg-do compile } */
/* { dg-options "-O2" } */
struct S { char c[65536]; };
__attribute__((ms_abi, fastcall)) void
foo (void *x, void *xx, struct S y)
{
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7/4.8/4.9 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (6 preceding siblings ...)
2014-03-17 8:24 ` ktietz at gcc dot gnu.org
@ 2014-03-17 9:12 ` jakub at gcc dot gnu.org
2014-03-17 11:23 ` ktietz at gcc dot gnu.org
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-17 9:12 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #32367|0 |1
is obsolete| |
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 32368
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32368&action=edit
gcc49-pr60516.patch
Ok, testcase adjusted.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7/4.8/4.9 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (7 preceding siblings ...)
2014-03-17 9:12 ` jakub at gcc dot gnu.org
@ 2014-03-17 11:23 ` ktietz at gcc dot gnu.org
2014-03-17 19:03 ` jakub at gcc dot gnu.org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ktietz at gcc dot gnu.org @ 2014-03-17 11:23 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
--- Comment #9 from Kai Tietz <ktietz at gcc dot gnu.org> ---
Did regression-test for 32-bit mingw for C, C++, and Fortran. No new
regressions occurred.
So patch is from my POV ok for trunk and branches
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7/4.8/4.9 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (8 preceding siblings ...)
2014-03-17 11:23 ` ktietz at gcc dot gnu.org
@ 2014-03-17 19:03 ` jakub at gcc dot gnu.org
2014-03-17 19:04 ` [Bug target/60516] [4.7/4.8 " jakub at gcc dot gnu.org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-17 19:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Mon Mar 17 19:03:04 2014
New Revision: 208623
URL: http://gcc.gnu.org/viewcvs?rev=208623&root=gcc&view=rev
Log:
PR target/60516
* config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
note creation for the 2010-08-31 changes.
* gcc.target/i386/pr60516.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/i386/pr60516.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7/4.8 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (9 preceding siblings ...)
2014-03-17 19:03 ` jakub at gcc dot gnu.org
@ 2014-03-17 19:04 ` jakub at gcc dot gnu.org
2014-04-10 7:49 ` jakub at gcc dot gnu.org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-17 19:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.7/4.8/4.9 regression]: |[4.7/4.8 regression]:
|cc1plus crashes compiling a |cc1plus crashes compiling a
|method with a huge struct |method with a huge struct
|as argument |as argument
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk so far.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7/4.8 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (10 preceding siblings ...)
2014-03-17 19:04 ` [Bug target/60516] [4.7/4.8 " jakub at gcc dot gnu.org
@ 2014-04-10 7:49 ` jakub at gcc dot gnu.org
2014-04-10 8:04 ` [Bug target/60516] [4.7 " jakub at gcc dot gnu.org
2014-06-12 13:38 ` rguenth at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-04-10 7:49 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Apr 10 07:49:02 2014
New Revision: 209264
URL: http://gcc.gnu.org/viewcvs?rev=209264&root=gcc&view=rev
Log:
Backport from mainline
2014-03-17 Jakub Jelinek <jakub@redhat.com>
PR target/60516
* config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
note creation for the 2010-08-31 changes.
* gcc.target/i386/pr60516.c: New test.
Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.target/i386/pr60516.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/config/i386/i386.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (11 preceding siblings ...)
2014-04-10 7:49 ` jakub at gcc dot gnu.org
@ 2014-04-10 8:04 ` jakub at gcc dot gnu.org
2014-06-12 13:38 ` rguenth at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-04-10 8:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.7/4.8 regression]: |[4.7 regression]: cc1plus
|cc1plus crashes compiling a |crashes compiling a method
|method with a huge struct |with a huge struct as
|as argument |argument
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed also for 4.8.3+.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/60516] [4.7 regression]: cc1plus crashes compiling a method with a huge struct as argument
2014-03-13 15:05 [Bug c++/60516] New: cc1plus crashes compiling a method with a huge struct as argument zaskar_84 at yahoo dot com.ar
` (12 preceding siblings ...)
2014-04-10 8:04 ` [Bug target/60516] [4.7 " jakub at gcc dot gnu.org
@ 2014-06-12 13:38 ` rguenth at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-06-12 13:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60516
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Known to work| |4.8.3
Resolution|--- |FIXED
Target Milestone|4.7.4 |4.8.3
Known to fail| |4.7.4
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed for 4.8.3.
^ permalink raw reply [flat|nested] 15+ messages in thread