aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2004-11-06 00:39:16 +0000
committerAndrew Cagney <cagney@redhat.com>2004-11-06 00:39:16 +0000
commitf059bf6fd2d81102fb64d784d9d9792e0206aefa (patch)
tree89b305a56a922deaedf8fb2e14c73594c121b44a
parent38a60c2e9c8a6ae4bc9084e0a5319dccaaf311ac (diff)
downloadgdb-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/ChangeLog7
-rw-r--r--gdb/dwarf2-frame.c10
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];
}