From 7d58c67dbb8ad7f7094aa4d3dd85b60116593d04 Mon Sep 17 00:00:00 2001 From: "Theodore A. Roth" Date: Wed, 4 Jun 2003 04:31:37 +0000 Subject: [PATCH] * remote.c (init_remote_state): Compute sizeof_g_packet by accumulation of the size of all registers instead of blindly using DEPRECATED_REGISTER_BYTES. --- gdb/ChangeLog | 6 ++++++ gdb/remote.c | 12 ++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7b72701..0202a1e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2003-06-03 Theodore A. Roth + + * remote.c (init_remote_state): Compute sizeof_g_packet by + accumulation of the size of all registers instead of blindly using + DEPRECATED_REGISTER_BYTES. + 2003-06-03 Michael Snyder * config/h8300/tm-h8300.h (h8300sxmode): Declare. diff --git a/gdb/remote.c b/gdb/remote.c index 40be8e6..e55e141 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -261,9 +261,10 @@ init_remote_state (struct gdbarch *gdbarch) int regnum; struct remote_state *rs = xmalloc (sizeof (struct remote_state)); - /* Start out by having the remote protocol mimic the existing - behavour - just copy in the description of the register cache. */ - rs->sizeof_g_packet = DEPRECATED_REGISTER_BYTES; /* OK */ + if (DEPRECATED_REGISTER_BYTES != 0) + rs->sizeof_g_packet = DEPRECATED_REGISTER_BYTES; + else + rs->sizeof_g_packet = 0; /* Assume a 1:1 regnum<->pnum table. */ rs->regs = xcalloc (NUM_REGS + NUM_PSEUDO_REGS, sizeof (struct packet_reg)); @@ -274,8 +275,11 @@ init_remote_state (struct gdbarch *gdbarch) r->regnum = regnum; r->offset = REGISTER_BYTE (regnum); r->in_g_packet = (regnum < NUM_REGS); - /* ...size = REGISTER_RAW_SIZE (regnum); */ /* ...name = REGISTER_NAME (regnum); */ + + /* Compute packet size by accumulating the size of all registers. */ + if (DEPRECATED_REGISTER_BYTES == 0) + rs->sizeof_g_packet += register_size (current_gdbarch, regnum); } /* Default maximum number of characters in a packet body. Many -- 2.7.4