This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/17406] [4.0 regression] ICE dwarf2out_frame_debug_expr, at dwarf2out.c:1692
- From: "dannysmith at users dot sourceforge dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Oct 2004 00:44:37 -0000
- Subject: [Bug debug/17406] [4.0 regression] ICE dwarf2out_frame_debug_expr, at dwarf2out.c:1692
- References: <20040910202624.17406.aaronavay62@aaronwl.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dannysmith at users dot sourceforge dot net 2004-10-07 00:44 -------
The bug appears to be yet another related to the stack probe that is used on
windows target when allocating more than a page at a time
Removing the RTX_FRAME_RELATED_P tag from the movl <allocate> %eax insn in
ix86_expand_prologue fixes this bug (refer comments on FRAME_RELATED_P in
dwarf2out.c)
I have only tested this on a quick rebuild of a month-old CVS. It doesn't seem
to resurrect any of the old _alloca bugs that the intro of RTX_FRAME_RELATED_P
was meant to fixed. I'll test properly when I've paid my phone bill and can
afford to update CVS. Aaron, could you test?
Index: i386.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.720
diff -c -3 -p -r1.720 i386.c
*** i386.c 4 Sep 2004 07:55:07 -0000 1.720
--- i386.c 7 Oct 2004 00:30:28 -0000
*************** ix86_expand_prologue (void)
*** 4280,4287 ****
allocate -= 4;
}
! insn = emit_move_insn (eax, GEN_INT (allocate));
! RTX_FRAME_RELATED_P (insn) = 1;
insn = emit_insn (gen_allocate_stack_worker (eax));
RTX_FRAME_RELATED_P (insn) = 1;
--- 4280,4286 ----
allocate -= 4;
}
! emit_move_insn (eax, GEN_INT (allocate));
insn = emit_insn (gen_allocate_stack_worker (eax));
RTX_FRAME_RELATED_P (insn) = 1;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17406