diff options
author | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2016-09-16 19:25:55 +0200 |
---|---|---|
committer | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2016-09-16 19:25:55 +0200 |
commit | 0e00e962c57138f0dd8c261cbd6918782deec3c4 (patch) | |
tree | dd87ce6e48b3d6b679f12e240d167619a886e396 /gdb | |
parent | 169fe0df159c04cd7344d24cc6b1268bd219f830 (diff) | |
download | gdb-0e00e962c57138f0dd8c261cbd6918782deec3c4.zip gdb-0e00e962c57138f0dd8c261cbd6918782deec3c4.tar.gz gdb-0e00e962c57138f0dd8c261cbd6918782deec3c4.tar.bz2 |
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.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/gdbserver/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/gdbserver/linux-low.c | 8 | ||||
-rw-r--r-- | gdb/linux-nat.c | 8 | ||||
-rw-r--r-- | gdb/nat/linux-nat.h | 5 |
5 files changed, 30 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9e38ce3..1aef462 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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. diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index af8420f..499ae3d 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -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 diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index fb70715..4203b92 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 7410f8e..8e9eb0b 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 2b485db..529cf26 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 */ |