From: Andreas Arnez Date: Fri, 16 Sep 2016 17:25:55 +0000 (+0200) Subject: linux-nat: Add function lwp_is_stepping X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e00e962c57138f0dd8c261cbd6918782deec3c4;p=binutils-gdb.git linux-nat: Add function lwp_is_stepping 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9e38ce31718..1aef462ba0d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-09-16 Andreas Arnez + + * nat/linux-nat.h (lwp_is_stepping): New declaration. + * linux-nat.c (lwp_is_stepping): New function. + 2016-09-16 Andreas Arnez * s390-linux-nat.c (gdbcmd.h): New include. diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index af8420f11b1..499ae3d8ce4 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,7 @@ +2016-09-16 Andreas Arnez + + * linux-low.c (lwp_is_stepping): New function. + 2016-09-06 Carl Love * server.c (start_inferior): Fixed comment, requested comment change diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index fb707158465..4203b92342b 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -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. */ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index 7410f8ec148..8e9eb0bac4b 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -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; +} + /* Trivial list manipulation functions to keep track of a list of new stopped processes. */ diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h index 2b485db1412..529cf26dab3 100644 --- a/gdb/nat/linux-nat.h +++ b/gdb/nat/linux-nat.h @@ -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 */