From: Richard Henderson Date: Wed, 14 Jan 2004 21:12:02 +0000 (-0800) Subject: re PR debug/13231 (Bad DWARF2 CFI when there is no frame pointer) X-Git-Tag: releases/gcc-3.4.0~975 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b298f00fbbbe3b4ef236419ef808a83e9291a085;p=thirdparty%2Fgcc.git re PR debug/13231 (Bad DWARF2 CFI when there is no frame pointer) PR debug/13231 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue instructions. From-SVN: r75884 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index be309dd5b3e3..5da9220a8192 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-01-14 Richard Henderson + + PR debug/13231 + * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue + instructions. + 2004-01-14 Richard Henderson PR c++/12491 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 5f75d296450c..f1f977113d55 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -1057,6 +1057,13 @@ dwarf2out_stack_adjust (rtx insn) const char *label; int i; + /* Don't handle epilogues at all. Certainly it would be wrong to do so + with this function. Proper support would require all frame-related + insns to be marked, and to be able to handle saving state around + epilogues textually in the middle of the function. */ + if (prologue_epilogue_contains (insn) || sibcall_epilogue_contains (insn)) + return; + if (!flag_asynchronous_unwind_tables && GET_CODE (insn) == CALL_INSN) { /* Extract the size of the args from the CALL rtx itself. */