From f059bf6fd2d81102fb64d784d9d9792e0206aefa Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Sat, 6 Nov 2004 00:39:16 +0000 Subject: [PATCH] 2004-11-05 Andrew Cagney * dwarf2-frame.c (dwarf2_frame_cache): Only complain when both the CFI and the init_reg method leave the register unspecified. Include the register name in the "Incomplete CFI data" complaint. Supress leading zeros in the address. --- gdb/ChangeLog | 7 +++++++ gdb/dwarf2-frame.c | 10 +++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8db2aba..1519f59 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2004-11-05 Andrew Cagney + + * dwarf2-frame.c (dwarf2_frame_cache): Only complain when both the + CFI and the init_reg method leave the register unspecified. + Include the register name in the "Incomplete CFI data" complaint. + Supress leading zeros in the address. + 2004-11-05 Mark Kettenis * dwarf2-frame.c (decode_frame_entry_1): Avoid indirection when diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index b5737d2..4bad147 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -674,9 +674,13 @@ dwarf2_frame_cache (struct frame_info *next_frame, void **this_cache) table. We need a way of iterating through all the valid DWARF2 register numbers. */ if (fs->regs.reg[column].how == DWARF2_FRAME_REG_UNSPECIFIED) - complaint (&symfile_complaints, - "Incomplete CFI data; unspecified registers at 0x%s", - paddr (fs->pc)); + { + if (cache->reg[regnum].how == DWARF2_FRAME_REG_UNSPECIFIED) + complaint (&symfile_complaints, "\ +incomplete CFI data; unspecified registers (e.g., %s) at 0x%s", + gdbarch_register_name (gdbarch, regnum), + paddr_nz (fs->pc)); + } else cache->reg[regnum] = fs->regs.reg[column]; } -- 2.7.4