From b95a31ed5d2b34f1a4072d701f5cd51075e61c01 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Fri, 28 Jan 2022 11:14:37 -0800 Subject: [PATCH] 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. --- gdb/fbsd-nat.c | 8 ++++++-- gdb/fbsd-nat.h | 21 ++++++++++++--------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c index 9a945576a94..bf606ec1f76 100644 --- a/gdb/fbsd-nat.c +++ b/gdb/fbsd-nat.c @@ -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 (); diff --git a/gdb/fbsd-nat.h b/gdb/fbsd-nat.h index 6f8b206dcd5..b32cabb21c3 100644 --- a/gdb/fbsd-nat.h +++ b/gdb/fbsd-nat.h @@ -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 - 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, ®s, - sizeof (regs)); + return fetch_register_set (regcache, regnum, fetch_op, regset, ®s, + sizeof (regs)); } template - 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, ®s, - sizeof (regs)); + return store_register_set (regcache, regnum, fetch_op, store_op, regset, + ®s, sizeof (regs)); } }; -- 2.30.2