fbsd-nat: Return a bool from fetch_register_set and store_register_set.

Change these helper functions to return true if they did any work.
This commit is contained in:
John Baldwin
2022-01-28 11:14:37 -08:00
parent 7384826ebf
commit b95a31ed5d
2 changed files with 18 additions and 11 deletions

View File

@ -1611,7 +1611,7 @@ fbsd_nat_target::supports_disable_randomization ()
/* See fbsd-nat.h. */
void
bool
fbsd_nat_target::fetch_register_set (struct regcache *regcache, int regnum,
int fetch_op, const struct regset *regset,
void *regs, size_t size)
@ -1627,12 +1627,14 @@ fbsd_nat_target::fetch_register_set (struct regcache *regcache, int regnum,
perror_with_name (_("Couldn't get registers"));
regcache->supply_regset (regset, regnum, regs, size);
return true;
}
return false;
}
/* See fbsd-nat.h. */
void
bool
fbsd_nat_target::store_register_set (struct regcache *regcache, int regnum,
int fetch_op, int store_op,
const struct regset *regset, void *regs,
@ -1652,7 +1654,9 @@ fbsd_nat_target::store_register_set (struct regcache *regcache, int regnum,
if (ptrace (store_op, pid, (PTRACE_TYPE_ARG3) regs, 0) == -1)
perror_with_name (_("Couldn't write registers"));
return true;
}
return false;
}
void _initialize_fbsd_nat ();

View File

@ -120,12 +120,15 @@ private:
of registers to a native thread.
The caller must provide storage for the set of registers in REGS,
and SIZE is the size of the storage. */
and SIZE is the size of the storage.
void fetch_register_set (struct regcache *regcache, int regnum, int fetch_op,
Returns true if the register set was transferred due to a
matching REGNUM.*/
bool fetch_register_set (struct regcache *regcache, int regnum, int fetch_op,
const struct regset *regset, void *regs, size_t size);
void store_register_set (struct regcache *regcache, int regnum, int fetch_op,
bool store_register_set (struct regcache *regcache, int regnum, int fetch_op,
int store_op, const struct regset *regset,
void *regs, size_t size);
protected:
@ -133,21 +136,21 @@ protected:
type such as 'struct reg' or 'struct fpreg'. */
template <class Regset>
void fetch_register_set (struct regcache *regcache, int regnum, int fetch_op,
bool fetch_register_set (struct regcache *regcache, int regnum, int fetch_op,
const struct regset *regset)
{
Regset regs;
fetch_register_set (regcache, regnum, fetch_op, regset, &regs,
sizeof (regs));
return fetch_register_set (regcache, regnum, fetch_op, regset, &regs,
sizeof (regs));
}
template <class Regset>
void store_register_set (struct regcache *regcache, int regnum, int fetch_op,
bool store_register_set (struct regcache *regcache, int regnum, int fetch_op,
int store_op, const struct regset *regset)
{
Regset regs;
store_register_set (regcache, regnum, fetch_op, store_op, regset, &regs,
sizeof (regs));
return store_register_set (regcache, regnum, fetch_op, store_op, regset,
&regs, sizeof (regs));
}
};