* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
@ 2011-07-27 16:50 ` rth at gcc dot gnu.org
2011-07-27 22:18 ` rth at gcc dot gnu.org
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rth at gcc dot gnu.org @ 2011-07-27 16:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
Richard Henderson <rth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2011.07.27 16:49:56
AssignedTo|unassigned at gcc dot |rth at gcc dot gnu.org
|gnu.org |
Ever Confirmed|0 |1
--- Comment #1 from Richard Henderson <rth at gcc dot gnu.org> 2011-07-27 16:49:56 UTC ---
Mine.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
2011-07-27 16:50 ` [Bug debug/49864] " rth at gcc dot gnu.org
@ 2011-07-27 22:18 ` rth at gcc dot gnu.org
2011-07-28 0:07 ` rth at gcc dot gnu.org
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rth at gcc dot gnu.org @ 2011-07-27 22:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
--- Comment #2 from Richard Henderson <rth at gcc dot gnu.org> 2011-07-27 22:17:47 UTC ---
Created attachment 24847
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24847
proposed patch
This appears to fix the problem for this testcase.
Please run through a complete regression test to
see how it fares elsewhere.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
2011-07-27 16:50 ` [Bug debug/49864] " rth at gcc dot gnu.org
2011-07-27 22:18 ` rth at gcc dot gnu.org
@ 2011-07-28 0:07 ` rth at gcc dot gnu.org
2011-08-01 21:44 ` rth at gcc dot gnu.org
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rth at gcc dot gnu.org @ 2011-07-28 0:07 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
--- Comment #3 from Richard Henderson <rth at gcc dot gnu.org> 2011-07-28 00:06:16 UTC ---
Hum, this patch is too hacky and likely to fail for
other targets for different reasons. We need a more
comprehensive solution.
Consider it withdrawn.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
` (2 preceding siblings ...)
2011-07-28 0:07 ` rth at gcc dot gnu.org
@ 2011-08-01 21:44 ` rth at gcc dot gnu.org
2011-08-02 22:18 ` rth at gcc dot gnu.org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rth at gcc dot gnu.org @ 2011-08-01 21:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
--- Comment #4 from Richard Henderson <rth at gcc dot gnu.org> 2011-08-01 21:43:56 UTC ---
Current patch:
http://gcc.gnu.org/ml/gcc-patches/2011-08/msg00075.html
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
` (3 preceding siblings ...)
2011-08-01 21:44 ` rth at gcc dot gnu.org
@ 2011-08-02 22:18 ` rth at gcc dot gnu.org
2011-08-02 22:20 ` rth at gcc dot gnu.org
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rth at gcc dot gnu.org @ 2011-08-02 22:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
--- Comment #5 from Richard Henderson <rth at gcc dot gnu.org> 2011-08-02 22:18:38 UTC ---
Author: rth
Date: Tue Aug 2 22:18:35 2011
New Revision: 177218
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177218
Log:
PR target/49864
* reg-notes.def (REG_ARGS_SIZE): New.
* calls.c (emit_call_1): Emit REG_ARGS_SIZE for call_pop.
(expand_call): Add REG_ARGS_SIZE to emit_stack_restore.
* cfgcleanup.c (old_insns_match_p): Don't allow cross-jumping to
different stack levels.
* combine-stack-adj.c (adjust_frame_related_expr): Remove.
(maybe_move_args_size_note): New.
(combine_stack_adjustments_for_block): Use it.
* combine.c (distribute_notes): Place REG_ARGS_SIZE.
* dwarf2cfi.c (dw_cfi_row_struct): Remove args_size member.
(dw_trace_info): Add beg_true_args_size, end_true_args_size,
beg_delay_args_size, end_delay_args_size, eh_head, args_size_undefined.
(cur_cfa): New.
(queued_args_size): Remove.
(add_cfi_args_size): Assert size is non-negative.
(stack_adjust_offset, dwarf2out_args_size): Remove.
(dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust): Remove.
(notice_args_size, notice_eh_throw): New.
(dwarf2out_frame_debug_def_cfa): Use cur_cfa.
(dwarf2out_frame_debug_adjust_cfa): Likewise.
(dwarf2out_frame_debug_cfa_offset): Likewise.
(dwarf2out_frame_debug_expr): Likewise. Don't stack_adjust_offset.
(dwarf2out_frame_debug): Don't handle non-frame-related-p insns.
(change_cfi_row): Don't emit args_size.
(maybe_record_trace_start_abnormal): Split out from ...
(maybe_record_trace_start): Here. Set args_size_undefined.
(create_trace_edges): Update to match.
(scan_trace): Handle REG_ARGS_SIZE.
(connect_traces): Connect args_size between EH insns.
* emit-rtl.c (try_split): Handle REG_ARGS_SIZE.
* explow.c (suppress_reg_args_size): New.
(adjust_stack_1): Split out from ...
(adjust_stack): ... here.
(anti_adjust_stack): Use it.
(allocate_dynamic_stack_space): Suppress REG_ARGS_SIZE.
* expr.c (mem_autoinc_base): New.
(fixup_args_size_notes): New.
(emit_single_push_insn_1): Rename from emit_single_push_insn.
(emit_single_push_insn): New. Generate REG_ARGS_SIZE.
* recog.c (peep2_attempt): Handle REG_ARGS_SIZE.
* reload1.c (reload_as_needed): Likewise.
* rtl.h (fixup_args_size_notes): Declare.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/calls.c
trunk/gcc/cfgcleanup.c
trunk/gcc/combine-stack-adj.c
trunk/gcc/combine.c
trunk/gcc/dwarf2cfi.c
trunk/gcc/emit-rtl.c
trunk/gcc/explow.c
trunk/gcc/expr.c
trunk/gcc/recog.c
trunk/gcc/reg-notes.def
trunk/gcc/reload1.c
trunk/gcc/rtl.h
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
` (4 preceding siblings ...)
2011-08-02 22:18 ` rth at gcc dot gnu.org
@ 2011-08-02 22:20 ` rth at gcc dot gnu.org
2011-08-24 12:53 ` gjl at gcc dot gnu.org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rth at gcc dot gnu.org @ 2011-08-02 22:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
Richard Henderson <rth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #6 from Richard Henderson <rth at gcc dot gnu.org> 2011-08-02 22:19:05 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
` (5 preceding siblings ...)
2011-08-02 22:20 ` rth at gcc dot gnu.org
@ 2011-08-24 12:53 ` gjl at gcc dot gnu.org
2011-08-24 13:11 ` gjl at gcc dot gnu.org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-08-24 12:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
--- Comment #7 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-08-24 12:36:57 UTC ---
Created attachment 25087
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25087
assert-i.c
Set to REOPENED: This bug is still not dead; I see it with r178035 from trunk
for the attached, precompiled file from avr-libc.
There are similar PRs PR49994, PR49879 which all are fixed. I chose to reopen
this one because it occurs for the same target and similar message.
== Command line ==
avr-gcc assert-i.c -S -Os -g -v
Using built-in specs.
COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=/local/gnu/install/gcc-4.7/libexec/gcc/avr/4.7.0/lto-wrapper
Target: avr
Configured with: ../../gcc.gnu.org/trunk/configure --target=avr
--prefix=/local/gnu/install/gcc-4.7 --disable-nls --disable-shared
--enable-languages=c,c++ --with-dwarf2 --disable-lto
Thread model: single
gcc version 4.7.0 20110824 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-S' '-Os' '-g' '-v'
/local/gnu/install/gcc-4.7/libexec/gcc/avr/4.7.0/cc1 -quiet -v assert-i.c
-quiet -dumpbase assert-i.c -auxbase assert-i -g -Os -version -o assert-i.s
GNU C (GCC) version 4.7.0 20110824 (experimental) (avr)
compiled by GNU C version 4.3.2 [gcc-4_3-branch revision 141291], GMP
version 5.0.1, MPFR version 3.0.0-p8, MPC version 0.8.2
...
assert-i.c: In function '__assert':
assert-i.c:36:1: internal compiler error: in maybe_record_trace_start, at
dwarf2cfi.c:2234
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
` (6 preceding siblings ...)
2011-08-24 12:53 ` gjl at gcc dot gnu.org
@ 2011-08-24 13:11 ` gjl at gcc dot gnu.org
2011-08-24 20:08 ` rth at gcc dot gnu.org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-08-24 13:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
Georg-Johann Lay <gjl at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
--- Comment #8 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-08-24 12:50:47 UTC ---
Reopened, changing status from attachement dialog seems to ignore it...
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
` (7 preceding siblings ...)
2011-08-24 13:11 ` gjl at gcc dot gnu.org
@ 2011-08-24 20:08 ` rth at gcc dot gnu.org
2011-08-25 19:11 ` rth at gcc dot gnu.org
2011-08-26 11:28 ` gjl at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: rth at gcc dot gnu.org @ 2011-08-24 20:08 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
--- Comment #9 from Richard Henderson <rth at gcc dot gnu.org> 2011-08-24 19:35:31 UTC ---
Created attachment 25091
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25091
followup patch
I think you'd have been better off opening a new bug.
That said, the cross-jumping code needs a bit more restriction to
prevent the introduction of a region with inconsistent stack depth.
This works for the given test case, anyway.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
` (8 preceding siblings ...)
2011-08-24 20:08 ` rth at gcc dot gnu.org
@ 2011-08-25 19:11 ` rth at gcc dot gnu.org
2011-08-26 11:28 ` gjl at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: rth at gcc dot gnu.org @ 2011-08-25 19:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
--- Comment #10 from Richard Henderson <rth at gcc dot gnu.org> 2011-08-25 18:57:53 UTC ---
Author: rth
Date: Thu Aug 25 18:57:48 2011
New Revision: 178084
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178084
Log:
PR 50132
PR 49864
* cfgcleanup.c (old_insns_match_p): Don't allow cross-jump for
non-constant stack adjutment.
* expr.c (find_args_size_adjust): Break out from ...
(fixup_args_size_notes): ... here.
* rtl.h (find_args_size_adjust): Declare.
Added:
trunk/gcc/testsuite/gcc.dg/pr50132.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgcleanup.c
trunk/gcc/expr.c
trunk/gcc/rtl.h
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug debug/49864] ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
2011-07-27 10:48 [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439 gjl at gcc dot gnu.org
` (9 preceding siblings ...)
2011-08-25 19:11 ` rth at gcc dot gnu.org
@ 2011-08-26 11:28 ` gjl at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-08-26 11:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864
Georg-Johann Lay <gjl at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
--- Comment #11 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-08-26 11:09:24 UTC ---
Thanks Richard. It works again.
^ permalink raw reply [flat|nested] 12+ messages in thread