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-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b298f00fbbbe3b4ef236419ef808a83e9291a085;p=gcc.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 be309dd5b3e..5da9220a819 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 5f75d296450..f1f977113d5 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. */