2004-11-05 Andrew Cagney <cagney@gnu.org>
authorAndrew Cagney <cagney@redhat.com>
Sat, 6 Nov 2004 00:39:16 +0000 (00:39 +0000)
committerAndrew Cagney <cagney@redhat.com>
Sat, 6 Nov 2004 00:39:16 +0000 (00:39 +0000)
* 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
gdb/dwarf2-frame.c

index 8db2abad30fc5ff9f8cef46f8b060e12ff23c4ae..1519f5949a641fbb0123ba5d01739027c73be319 100644 (file)
@@ -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
index b5737d25a6c4d8b9cc6d1f59f585eddb40b11d0c..4bad147ffd1d9c396bfdee7e0ac3a1c9d9dbc13a 100644 (file)
@@ -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];
       }