Message ID | 1473940907-4449-4-git-send-email-arnez@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Hi Andreas, Patch is good to me. One nit below ... On Thu, Sep 15, 2016 at 1:01 PM, Andreas Arnez <arnez@linux.vnet.ibm.com> wrote: > 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. "single-stepping" in hardware or software? I know it is hardware single step. > > +/* Return nonzero if we are single-stepping this LWP. */ > + > +extern int lwp_is_stepping (struct lwp_info *lwp); > + > #endif /* LINUX_NAT_H */ in gdbserver, struct lwp_info { .... /* If this flag is set, the last continue operation at the ptrace level on this process was a single-step. */ int stepping; in gdb, struct lwp_info { ... /* Non-zero if we were stepping this LWP. */ int step; Looks the comments in gdbservers is better than the comments in gdb. lwp_is_stepping, as an api, should be documented clearly. Something like, /* Return nonzero if we are single-stepping this LWP at the ptrace level. */
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..f7d1c63 100644 --- a/gdb/nat/linux-nat.h +++ b/gdb/nat/linux-nat.h @@ -85,4 +85,8 @@ 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. */ + +extern int lwp_is_stepping (struct lwp_info *lwp); + #endif /* LINUX_NAT_H */