diff options
author | Andrew Cagney <cagney@redhat.com> | 2004-11-06 00:39:16 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2004-11-06 00:39:16 +0000 |
commit | f059bf6fd2d81102fb64d784d9d9792e0206aefa (patch) | |
tree | 89b305a56a922deaedf8fb2e14c73594c121b44a | |
parent | 38a60c2e9c8a6ae4bc9084e0a5319dccaaf311ac (diff) | |
download | gdb-f059bf6fd2d81102fb64d784d9d9792e0206aefa.zip gdb-f059bf6fd2d81102fb64d784d9d9792e0206aefa.tar.gz gdb-f059bf6fd2d81102fb64d784d9d9792e0206aefa.tar.bz2 |
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.
-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]; } |