This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[commit] Cleanup Incomplete CFI data; unspecified registers complaint
- From: Andrew Cagney <cagney at gnu dot org>
- To: gdb-patches at sources dot redhat dot com
- Date: Fri, 05 Nov 2004 19:47:20 -0500
- Subject: [commit] Cleanup Incomplete CFI data; unspecified registers complaint
Hello,
This patch tweaks the dwarf2-frame.c complaint:
- the register name is included
- the complaint is supressed when init_reg() fixed things up
if you were ever wondering why, even after implementing init_reg, the
complaint didn't disappear, this is it.
I think this is pretty straight forward, committed,
Andrew
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.
Index: dwarf2-frame.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2-frame.c,v
retrieving revision 1.43
diff -p -u -r1.43 dwarf2-frame.c
--- dwarf2-frame.c 5 Nov 2004 22:35:22 -0000 1.43
+++ dwarf2-frame.c 6 Nov 2004 00:37:53 -0000
@@ -674,9 +674,13 @@ dwarf2_frame_cache (struct frame_info *n
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];
}