From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1936) id F2CAD3948462; Fri, 28 Jan 2022 19:16:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F2CAD3948462 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: John Baldwin To: gdb-cvs@sourceware.org Subject: [binutils-gdb] fbsd-nat: Return a bool from fetch_register_set and store_register_set. X-Act-Checkin: binutils-gdb X-Git-Author: John Baldwin X-Git-Refname: refs/heads/master X-Git-Oldrev: 7384826ebff8a91a3f9b632e9e3982760fab966e X-Git-Newrev: b95a31ed5d2b34f1a4072d701f5cd51075e61c01 Message-Id: <20220128191639.F2CAD3948462@sourceware.org> Date: Fri, 28 Jan 2022 19:16:39 +0000 (GMT) X-BeenThere: gdb-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Jan 2022 19:16:40 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Db95a31ed5d2b= 34f1a4072d701f5cd51075e61c01 commit b95a31ed5d2b34f1a4072d701f5cd51075e61c01 Author: John Baldwin Date: Fri Jan 28 11:14:37 2022 -0800 fbsd-nat: Return a bool from fetch_register_set and store_register_set. =20 Change these helper functions to return true if they did any work. Diff: --- 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 () =20 /* See fbsd-nat.h. */ =20 -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 regcach= e *regcache, int regnum, perror_with_name (_("Couldn't get registers")); =20 regcache->supply_regset (regset, regnum, regs, size); + return true; } + return false; } =20 /* See fbsd-nat.h. */ =20 -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, =20 if (ptrace (store_op, pid, (PTRACE_TYPE_ARG3) regs, 0) =3D=3D -1) perror_with_name (_("Couldn't write registers")); + return true; } + return false; } =20 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. =20 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. =20 - void fetch_register_set (struct regcache *regcache, int regnum, int fetc= h_op, + Returns true if the register set was transferred due to a + matching REGNUM.*/ + + bool fetch_register_set (struct regcache *regcache, int regnum, int fetc= h_op, const struct regset *regset, void *regs, size_t size); =20 - void store_register_set (struct regcache *regcache, int regnum, int fetc= h_op, + bool store_register_set (struct regcache *regcache, int regnum, int fetc= h_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'. */ =20 template - void fetch_register_set (struct regcache *regcache, int regnum, int fetc= h_op, + bool fetch_register_set (struct regcache *regcache, int regnum, int fetc= h_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)); } =20 template - void store_register_set (struct regcache *regcache, int regnum, int fetc= h_op, + bool store_register_set (struct regcache *regcache, int regnum, int fetc= h_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, regse= t, + ®s, sizeof (regs)); } };