public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] gdbserver: make linux target op 'cannot_store_register' a predicate function
@ 2020-04-02 13:17 Tankut Baris Aktemur
  0 siblings, 0 replies; only message in thread
From: Tankut Baris Aktemur @ 2020-04-02 13:17 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a5863204fb1b9c03627edc3bb447c5958ef96458

commit a5863204fb1b9c03627edc3bb447c5958ef96458
Author: Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Date:   Thu Apr 2 15:11:22 2020 +0200

    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  <tankut.baris.aktemur@intel.com>
    
            * 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.

Diff:
---
 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  <tankut.baris.aktemur@intel.com>
+
+	* 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  <simon.marchi@efficios.com>
 
 	* 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;
 }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-04-02 13:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-02 13:17 [binutils-gdb] gdbserver: make linux target op 'cannot_store_register' a predicate function Tankut Baris Aktemur

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).