2003-12-06 Andrew Cagney <cagney@redhat.com>
* remote.c (remote_fetch_registers): For short packets, explicitly supply a zero value. Use regcache_raw_supply. Fix suggested by Jonathan Larmour.
This commit is contained in:
parent
5266b69c16
commit
8ccc128739
2 changed files with 23 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2003-12-06 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* remote.c (remote_fetch_registers): For short packets, explicitly
|
||||
supply a zero value. Use regcache_raw_supply. Fix suggested by
|
||||
Jonathan Larmour.
|
||||
|
||||
2003-12-05 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* ia64-tdep.c (ia64_gdbarch_init): Set up the gdbarch long double
|
||||
|
|
20
gdb/remote.c
20
gdb/remote.c
|
@ -3558,9 +3558,23 @@ remote_fetch_registers (int regnum)
|
|||
struct packet_reg *r = &rs->regs[i];
|
||||
if (r->in_g_packet)
|
||||
{
|
||||
supply_register (r->regnum, regs + r->offset);
|
||||
if (buf[r->offset * 2] == 'x')
|
||||
set_register_cached (i, -1);
|
||||
if (r->offset * 2 >= strlen (buf))
|
||||
/* A short packet that didn't include the register's
|
||||
value, this implies that the register is zero (and
|
||||
not that the register is unavailable). Supply that
|
||||
zero value. */
|
||||
regcache_raw_supply (current_regcache, r->regnum, NULL);
|
||||
else if (buf[r->offset * 2] == 'x')
|
||||
{
|
||||
gdb_assert (r->offset * 2 < strlen (buf));
|
||||
/* The register isn't available, mark it as such (at
|
||||
the same time setting the value to zero). */
|
||||
regcache_raw_supply (current_regcache, r->regnum, NULL);
|
||||
set_register_cached (i, -1);
|
||||
}
|
||||
else
|
||||
regcache_raw_supply (current_regcache, r->regnum,
|
||||
regs + r->offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue