mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-11 10:19:49 +08:00
re PR debug/40596 (Bad debug info for local variables on i386.)
PR debug/40596 * dwarf2out.c (based_loc_descr): For crtl->stack_realign_tried don't check cfa.reg. Instead of cfa.indirect use fde && fde->drap_reg != INVALID_REGNUM test. From-SVN: r149235
This commit is contained in:
parent
39ba6ab7fb
commit
bd5b2c2d07
@ -1,3 +1,10 @@
|
||||
2009-07-04 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR debug/40596
|
||||
* dwarf2out.c (based_loc_descr): For crtl->stack_realign_tried
|
||||
don't check cfa.reg. Instead of cfa.indirect use
|
||||
fde && fde->drap_reg != INVALID_REGNUM test.
|
||||
|
||||
2009-07-04 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* postreload.c (reload_combine): Replace CONST_REG with INDEX_REG.
|
||||
|
@ -10256,11 +10256,10 @@ based_loc_descr (rtx reg, HOST_WIDE_INT offset,
|
||||
is aligned without drap, use stack pointer + offset to
|
||||
access stack variables. */
|
||||
if (crtl->stack_realign_tried
|
||||
&& cfa.reg == HARD_FRAME_POINTER_REGNUM
|
||||
&& reg == frame_pointer_rtx)
|
||||
{
|
||||
int base_reg
|
||||
= DWARF_FRAME_REGNUM (cfa.indirect
|
||||
= DWARF_FRAME_REGNUM ((fde && fde->drap_reg != INVALID_REGNUM)
|
||||
? HARD_FRAME_POINTER_REGNUM
|
||||
: STACK_POINTER_REGNUM);
|
||||
return new_reg_loc_descr (base_reg, offset);
|
||||
|
Loading…
Reference in New Issue
Block a user