18#ifndef NAT_LINUX_PTRACE_H
19#define NAT_LINUX_PTRACE_H
24#include "gdbsupport/gdb_wait.h"
27#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__))
29#include <asm/ptrace.h>
34#if !defined(PTRACE_TYPE_ARG3)
35#define PTRACE_TYPE_ARG3 void *
38#if !defined(PTRACE_TYPE_ARG4)
39#define PTRACE_TYPE_ARG4 void *
42#ifndef PTRACE_GETSIGINFO
43# define PTRACE_GETSIGINFO 0x4202
44# define PTRACE_SETSIGINFO 0x4203
47#ifndef PTRACE_GETREGSET
48#define PTRACE_GETREGSET 0x4204
51#ifndef PTRACE_SETREGSET
52#define PTRACE_SETREGSET 0x4205
57#ifndef PTRACE_EVENT_FORK
59#define PTRACE_SETOPTIONS 0x4200
60#define PTRACE_GETEVENTMSG 0x4201
63#define PTRACE_O_TRACESYSGOOD 0x00000001
64#define PTRACE_O_TRACEFORK 0x00000002
65#define PTRACE_O_TRACEVFORK 0x00000004
66#define PTRACE_O_TRACECLONE 0x00000008
67#define PTRACE_O_TRACEEXEC 0x00000010
68#define PTRACE_O_TRACEVFORKDONE 0x00000020
69#define PTRACE_O_TRACEEXIT 0x00000040
72#define PTRACE_EVENT_FORK 1
73#define PTRACE_EVENT_VFORK 2
74#define PTRACE_EVENT_CLONE 3
75#define PTRACE_EVENT_EXEC 4
76#define PTRACE_EVENT_VFORK_DONE 5
77#define PTRACE_EVENT_EXIT 6
81#ifndef PTRACE_O_EXITKILL
83#define PTRACE_O_EXITKILL 0x00100000
86#if (defined __bfin__ || defined __frv__ || defined __sh__) \
87 && !defined PTRACE_GETFDPIC
88#define PTRACE_GETFDPIC 31
89#define PTRACE_GETFDPIC_EXEC 0
90#define PTRACE_GETFDPIC_INTERP 1
97#define __WALL 0x40000000
118#define USE_SIGTRAP_SIGINFO 1
161#if defined __i386__ || defined __x86_64__
162# define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == SI_KERNEL)
163# define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == TRAP_HWBKPT)
164#elif defined __powerpc__
165# define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == SI_KERNEL || (X) == TRAP_BRKPT)
166# define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == TRAP_HWBKPT)
167#elif defined __mips__
168# define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == SI_KERNEL || (X) == TRAP_BRKPT)
169# define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == SI_KERNEL || (X) == TRAP_HWBKPT)
171# define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == TRAP_BRKPT)
172# define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == TRAP_HWBKPT)
176# define TRAP_HWBKPT 4
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t err
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int int rusage_t pid_t pid
int linux_is_extended_waitstatus(int wstat)
void linux_check_ptrace_features(void)
int linux_ptrace_get_extended_event(int wstat)
int linux_wstatus_maybe_breakpoint(int wstat)
void linux_ptrace_init_warnings(void)
void linux_disable_event_reporting(pid_t pid)
void linux_enable_event_reporting(pid_t pid, int attached)
std::string linux_ptrace_attach_fail_reason_string(ptid_t ptid, int err)
std::string linux_ptrace_attach_fail_reason(pid_t pid)