linux-nat: Add function lwp_is_stepping
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Fri, 16 Sep 2016 17:25:55 +0000 (19:25 +0200)
committerAndreas Arnez <arnez@linux.vnet.ibm.com>
Fri, 16 Sep 2016 17:25:55 +0000 (19:25 +0200)
Add the function lwp_is_stepping which indicates whether the given LWP
is currently single-stepping.  This is a common interface, usable from
native GDB as well as from gdbserver.

gdb/gdbserver/ChangeLog:

* linux-low.c (lwp_is_stepping): New function.

gdb/ChangeLog:

* nat/linux-nat.h (lwp_is_stepping): New declaration.
* linux-nat.c (lwp_is_stepping): New function.

gdb/ChangeLog
gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c
gdb/linux-nat.c
gdb/nat/linux-nat.h

index 9e38ce3..1aef462 100644 (file)
@@ -1,5 +1,10 @@
 2016-09-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
 
+       * nat/linux-nat.h (lwp_is_stepping): New declaration.
+       * linux-nat.c (lwp_is_stepping): New function.
+
+2016-09-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
        * s390-linux-nat.c (gdbcmd.h): New include.
        (s390_show_debug_regs): New function.
        (s390_stopped_by_watchpoint): Call it, if show_debug_regs is set.
index af8420f..499ae3d 100644 (file)
@@ -1,3 +1,7 @@
+2016-09-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * linux-low.c (lwp_is_stepping): New function.
+
 2016-09-06  Carl Love  <cel@us.ibm.com>
 
        * server.c (start_inferior):  Fixed comment, requested comment change
index fb70715..4203b92 100644 (file)
@@ -176,6 +176,14 @@ lwp_stop_reason (struct lwp_info *lwp)
   return lwp->stop_reason;
 }
 
+/* See nat/linux-nat.h.  */
+
+int
+lwp_is_stepping (struct lwp_info *lwp)
+{
+  return lwp->stepping;
+}
+
 /* A list of all unknown processes which receive stop signals.  Some
    other process will presumably claim each of these as forked
    children momentarily.  */
index 7410f8e..8e9eb0b 100644 (file)
@@ -355,6 +355,14 @@ lwp_stop_reason (struct lwp_info *lwp)
   return lwp->stop_reason;
 }
 
+/* See nat/linux-nat.h.  */
+
+int
+lwp_is_stepping (struct lwp_info *lwp)
+{
+  return lwp->step;
+}
+
 \f
 /* Trivial list manipulation functions to keep track of a list of
    new stopped processes.  */
index 2b485db..529cf26 100644 (file)
@@ -85,4 +85,9 @@ extern enum target_stop_reason lwp_stop_reason (struct lwp_info *lwp);
 
 extern void linux_stop_lwp (struct lwp_info *lwp);
 
+/* Return nonzero if we are single-stepping this LWP at the ptrace
+   level.  */
+
+extern int lwp_is_stepping (struct lwp_info *lwp);
+
 #endif /* LINUX_NAT_H */