From a5863204fb1b9c03627edc3bb447c5958ef96458 Mon Sep 17 00:00:00 2001 From: Tankut Baris Aktemur Date: Thu, 2 Apr 2020 15:11:22 +0200 Subject: [PATCH] gdbserver: make linux target op 'cannot_store_register' a predicate function The comment for the linux target op 'cannot_store_register' states the following: /* Returns 0 if we can store the register, 1 if we can not store the register, and 2 if failure to store the register is acceptable. */ There is only one low target, linux-ppc-low, that potentially returns 2. There are two places that call the 'cannot_store_register' target op in linux-low.cc. None of these locations distinguish a '2' from a '1'. Hence, to simplify the definition, make the function a predicate that returns either 0 or 1. This is also consistent with the companion function, 'cannot_fetch_register'. gdbserver/ChangeLog: 2020-04-02 Tankut Baris Aktemur * linux-low.h (struct linux_target_ops): Update the comment for 'cannot_store_register' to return 0 or 1. * linux-ppc-low.cc (ppc_cannot_store_register): Return 1 instead of 2. --- gdbserver/ChangeLog | 7 +++++++ gdbserver/linux-low.h | 7 +++---- gdbserver/linux-ppc-low.cc | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index 37e38611d5d..b523f982cbf 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,3 +1,10 @@ +2020-04-02 Tankut Baris Aktemur + + * linux-low.h (struct linux_target_ops): Update the comment for + 'cannot_store_register' to return 0 or 1. + * linux-ppc-low.cc (ppc_cannot_store_register): Return 1 instead + of 2. + 2020-03-20 Simon Marchi * config.in: Re-generate. diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h index b69ade98e41..aaf882b8c5b 100644 --- a/gdbserver/linux-low.h +++ b/gdbserver/linux-low.h @@ -135,11 +135,10 @@ struct linux_target_ops void (*arch_setup) (void); const struct regs_info *(*regs_info) (void); - int (*cannot_fetch_register) (int); - /* Returns 0 if we can store the register, 1 if we can not - store the register, and 2 if failure to store the register - is acceptable. */ + /* Return 0 if we can fetch/store the register, 1 if we cannot + fetch/store the register. */ + int (*cannot_fetch_register) (int); int (*cannot_store_register) (int); /* Hook to fetch a register in some non-standard way. Used for diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc index fd6d0369c48..f3837e47960 100644 --- a/gdbserver/linux-ppc-low.cc +++ b/gdbserver/linux-ppc-low.cc @@ -152,13 +152,13 @@ ppc_cannot_store_register (int regno) /* Some kernels do not allow us to store fpscr. */ if (!(ppc_hwcap & PPC_FEATURE_HAS_SPE) && regno == find_regno (tdesc, "fpscr")) - return 2; + return 1; #endif /* Some kernels do not allow us to store orig_r3 or trap. */ if (regno == find_regno (tdesc, "orig_r3") || regno == find_regno (tdesc, "trap")) - return 2; + return 1; return 0; } -- 2.30.2