You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#include "nat/linux-nat.h"
#include "target.h"
-
#include <signal.h>
struct arch_lwp_info;
-/* Reasons an LWP last stopped. */
-
-enum lwp_stop_reason
-{
- /* Either not stopped, or stopped for a reason that doesn't require
- special tracking. */
- LWP_STOPPED_BY_NO_REASON,
-
- /* Stopped by a software breakpoint. */
- LWP_STOPPED_BY_SW_BREAKPOINT,
-
- /* Stopped by a hardware breakpoint. */
- LWP_STOPPED_BY_HW_BREAKPOINT,
-
- /* Stopped by a watchpoint. */
- LWP_STOPPED_BY_WATCHPOINT
-};
-
/* Structure describing an LWP. This is public only for the purposes
of ALL_LWPS; target-specific code should generally not access it
directly. */
/* The reason the LWP last stopped, if we need to track it
(breakpoint, watchpoint, etc.) */
- enum lwp_stop_reason stop_reason;
+ enum target_stop_reason stop_reason;
/* On architectures where it is possible to know the data address of
a triggered watchpoint, STOPPED_DATA_ADDRESS_P is non-zero, and
native target is active. */
extern struct lwp_info *lwp_list;
+/* Does the current host support PTRACE_GETREGSET? */
+enum tribool { TRIBOOL_UNKNOWN = -1, TRIBOOL_FALSE = 0, TRIBOOL_TRUE = 1 };
+extern enum tribool have_ptrace_getregset;
+
/* Iterate over each active thread (light-weight process). */
#define ALL_LWPS(LP) \
for ((LP) = lwp_list; \
extern int lin_lwp_attach_lwp (ptid_t ptid);
-extern void linux_stop_lwp (struct lwp_info *lwp);
+/* For linux_stop_lwp see nat/linux-nat.h. */
/* Stop all LWPs, synchronously. (Any events that trigger while LWPs
are being stopped are left pending.) */
left stopped.) */
extern void linux_unstop_all_lwps (void);
-/* Iterator function for lin-lwp's lwp list. */
-struct lwp_info *iterate_over_lwps (ptid_t filter,
- int (*callback) (struct lwp_info *,
- void *),
- void *data);
-
/* Create a prototype generic GNU/Linux target. The client can
override it with local methods. */
struct target_ops * linux_target (void);