public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/49864] New: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
@ 2011-07-27 10:48 gjl at gcc dot gnu.org
  2011-07-27 16:50 ` [Bug debug/49864] " rth at gcc dot gnu.org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-07-27 10:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49864

           Summary: ICE: in maybe_record_trace_start, at dwarf2cfi.c:2439
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: gjl@gcc.gnu.org
                CC: rth@gcc.gnu.org
            Target: avr


After updating from r176624 to r176818 avr test suite shows a new ICE:

/home/john/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/unsorted/gen_tst.c:
In function 'main_compare':

/home/john/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/unsorted/gen_tst.c:48:1:
internal compiler error: in maybe_record_trace_start, at dwarf2cfi.c:2439

Please submit a full bug report,


FAIL: gcc.c-torture/unsorted/gen_tst.c,  -O3 -g   (internal compiler error)

Executing on host: /local/gnu/build/gcc-trunk-avr/gcc/xgcc
-B/local/gnu/build/gcc-trunk-avr/gcc/  -w  -Os   -DSTACK_SIZE=2048
-DNO_TRAMPOLINES -c  -DSIGNAL_SUPPRESS -mmcu=atmega128
-I/home/john/gnu/install/gcc-4.7/avr/include  -o
/local/gnu/build/gcc-trunk-avr/gcc/testsuite/gcc/gen_tst.o
/home/john/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/unsorted/gen_tst.c
   (timeout = 300)
spawn /local/gnu/build/gcc-trunk-avr/gcc/xgcc
-B/local/gnu/build/gcc-trunk-avr/gcc/ -w -Os -DSTACK_SIZE=2048 -DNO_TRAMPOLINES
-c -DSIGNAL_SUPPRESS -mmcu=atmega128
-I/home/john/gnu/install/gcc-4.7/avr/include -o
/local/gnu/build/gcc-trunk-avr/gcc/testsuite/gcc/gen_tst.o
/home/john/gnu/gcc.gnu.org/trunk/gcc/testsuite/gcc.c-torture/unsorted/gen_tst.c


== configure ==

../../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


^ 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 ` 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

end of thread, other threads:[~2011-08-26 11:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).