diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | 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 <cagney@gnu.org> + + * 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 <kettenis@gnu.org> * 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]; } |