/* Return a reference to the description of register N. */
-static const struct reg &
+static const struct gdb::reg &
find_register_by_number (const struct target_desc *tdesc, int n)
{
return tdesc->reg_defs[n];
}
static unsigned char *
-register_data (const struct regcache *regcache, int n, int fetch)
+register_data (const struct regcache *regcache, int n)
{
return (regcache->registers
+ find_register_by_number (regcache->tdesc, n).offset / 8);
{
if (buf)
{
- memcpy (register_data (this, n, 0), buf, register_size (tdesc, n));
+ memcpy (register_data (this, n), buf, register_size (tdesc, n));
#ifndef IN_PROCESS_AGENT
if (register_status != NULL)
register_status[n] = REG_VALID;
}
else
{
- memset (register_data (this, n, 0), 0, register_size (tdesc, n));
+ memset (register_data (this, n), 0, register_size (tdesc, n));
#ifndef IN_PROCESS_AGENT
if (register_status != NULL)
register_status[n] = REG_UNAVAILABLE;
void
supply_register_zeroed (struct regcache *regcache, int n)
{
- memset (register_data (regcache, n, 0), 0,
+ memset (register_data (regcache, n), 0,
register_size (regcache->tdesc, n));
#ifndef IN_PROCESS_AGENT
if (regcache->register_status != NULL)
void
regcache::raw_collect (int n, void *buf) const
{
- memcpy (buf, register_data (this, n, 1), register_size (tdesc, n));
+ memcpy (buf, register_data (this, n), register_size (tdesc, n));
}
enum register_status
if (size > (int) sizeof (ULONGEST))
error (_("That operation is not available on integers of more than"
- "%d bytes."),
- (int) sizeof (ULONGEST));
+ "%d bytes."),
+ (int) sizeof (ULONGEST));
*val = 0;
collect_register (regcache, regnum, val);
void
collect_register_as_string (struct regcache *regcache, int n, char *buf)
{
- bin2hex (register_data (regcache, n, 1), buf,
+ bin2hex (register_data (regcache, n), buf,
register_size (regcache->tdesc, n));
}
CORE_ADDR
regcache_read_pc (struct regcache *regcache)
{
- CORE_ADDR pc_val;
-
- if (the_target->read_pc)
- pc_val = the_target->read_pc (regcache);
- else
- internal_error (__FILE__, __LINE__,
- "regcache_read_pc: Unable to find PC");
-
- return pc_val;
+ return the_target->read_pc (regcache);
}
void
regcache_write_pc (struct regcache *regcache, CORE_ADDR pc)
{
- if (the_target->write_pc)
- the_target->write_pc (regcache, pc);
- else
- internal_error (__FILE__, __LINE__,
- "regcache_write_pc: Unable to update PC");
+ the_target->write_pc (regcache, pc);
}
#endif
{
gdb_assert (buf != NULL);
- const unsigned char *regbuf = register_data (this, regnum, 1);
+ const unsigned char *regbuf = register_data (this, regnum);
int size = register_size (tdesc, regnum);
gdb_assert (size >= offset);