mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 12:39:59 +00:00
* remote.c (fetch_register_using_p): Recognize a register value
starting with 'x' as indicating an unfetchable register.
This commit is contained in:
parent
7d2a4abafe
commit
3f9a994c5e
@ -1,3 +1,8 @@
|
||||
2004-12-28 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
* remote.c (fetch_register_using_p): Recognize a register value
|
||||
starting with 'x' as indicating an unfetchable register.
|
||||
|
||||
2004-12-27 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* config/mips/obsd64.mh (NATDEPFILES): Unwrap line.
|
||||
|
41
gdb/remote.c
41
gdb/remote.c
@ -3192,25 +3192,36 @@ fetch_register_using_p (int regnum)
|
||||
p += hexnumstr (p, regnum);
|
||||
*p++ = '\0';
|
||||
remote_send (buf, rs->remote_packet_size);
|
||||
if (buf[0] != 0 && buf[0] != 'E')
|
||||
|
||||
/* If the stub didn't recognize the packet, or if we got an error,
|
||||
tell our caller. */
|
||||
if (buf[0] == '\0' || buf[0] == 'E')
|
||||
return 0;
|
||||
|
||||
/* If this register is unfetchable, tell the regcache. */
|
||||
if (buf[0] == 'x')
|
||||
{
|
||||
p = buf;
|
||||
i = 0;
|
||||
while (p[0] != 0)
|
||||
{
|
||||
if (p[1] == 0)
|
||||
{
|
||||
error ("fetch_register_using_p: early buf termination");
|
||||
return 0;
|
||||
}
|
||||
regp[i++] = fromhex (p[0]) * 16 + fromhex (p[1]);
|
||||
p += 2;
|
||||
}
|
||||
regcache_raw_supply (current_regcache, regnum, regp);
|
||||
regcache_raw_supply (current_regcache, regnum, NULL);
|
||||
set_register_cached (regnum, -1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
/* Otherwise, parse and supply the value. */
|
||||
p = buf;
|
||||
i = 0;
|
||||
while (p[0] != 0)
|
||||
{
|
||||
if (p[1] == 0)
|
||||
{
|
||||
error("fetch_register_using_p: early buf termination");
|
||||
return 0;
|
||||
}
|
||||
|
||||
regp[i++] = fromhex (p[0]) * 16 + fromhex (p[1]);
|
||||
p += 2;
|
||||
}
|
||||
regcache_raw_supply (current_regcache, regnum, regp);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user