aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/remote.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bd19559..7c0eb55 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2007-02-26 Daniel Jacobowitz <dan@codesourcery.com>
+ * remote.c (init_remote_state): Add special handling for placeholder
+ registers.
+
+2007-02-26 Daniel Jacobowitz <dan@codesourcery.com>
+
* Makefile.in (XMLFILES): Include $(TDEP_XML).
(filenames_h): New variable.
(clean): Clean up xml-builtin.c and stamp-xml.
diff --git a/gdb/remote.c b/gdb/remote.c
index bb49aca..f106c5d 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -340,7 +340,13 @@ init_remote_state (struct gdbarch *gdbarch)
for (regnum = 0; regnum < NUM_REGS; regnum++)
{
struct packet_reg *r = &rsa->regs[regnum];
- r->pnum = gdbarch_remote_register_number (gdbarch, regnum);
+
+ if (register_size (current_gdbarch, regnum) == 0)
+ /* Do not try to fetch zero-sized (placeholder) registers. */
+ r->pnum = -1;
+ else
+ r->pnum = gdbarch_remote_register_number (gdbarch, regnum);
+
r->regnum = regnum;
}