18#ifndef NAT_LINUX_PTRACE_H
19#define NAT_LINUX_PTRACE_H
22#include "gdbsupport/gdb_wait.h"
25#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__))
27#include <asm/ptrace.h>
32#if !defined(PTRACE_TYPE_ARG3)
33#define PTRACE_TYPE_ARG3 void *
36#if !defined(PTRACE_TYPE_ARG4)
37#define PTRACE_TYPE_ARG4 void *
40#ifndef PTRACE_GETSIGINFO
41# define PTRACE_GETSIGINFO 0x4202
42# define PTRACE_SETSIGINFO 0x4203
45#ifndef PTRACE_GETREGSET
46#define PTRACE_GETREGSET 0x4204
49#ifndef PTRACE_SETREGSET
50#define PTRACE_SETREGSET 0x4205
55#ifndef PTRACE_EVENT_FORK
57#define PTRACE_SETOPTIONS 0x4200
58#define PTRACE_GETEVENTMSG 0x4201
61#define PTRACE_O_TRACESYSGOOD 0x00000001
62#define PTRACE_O_TRACEFORK 0x00000002
63#define PTRACE_O_TRACEVFORK 0x00000004
64#define PTRACE_O_TRACECLONE 0x00000008
65#define PTRACE_O_TRACEEXEC 0x00000010
66#define PTRACE_O_TRACEVFORKDONE 0x00000020
67#define PTRACE_O_TRACEEXIT 0x00000040
70#define PTRACE_EVENT_FORK 1
71#define PTRACE_EVENT_VFORK 2
72#define PTRACE_EVENT_CLONE 3
73#define PTRACE_EVENT_EXEC 4
74#define PTRACE_EVENT_VFORK_DONE 5
75#define PTRACE_EVENT_EXIT 6
79#ifndef PTRACE_O_EXITKILL
81#define PTRACE_O_EXITKILL 0x00100000
84#if (defined __bfin__ || defined __frv__ || defined __sh__) \
85 && !defined PTRACE_GETFDPIC
86#define PTRACE_GETFDPIC 31
87#define PTRACE_GETFDPIC_EXEC 0
88#define PTRACE_GETFDPIC_INTERP 1
95#define __WALL 0x40000000
116#define USE_SIGTRAP_SIGINFO 1
159#if defined __i386__ || defined __x86_64__
160# define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == SI_KERNEL)
161# define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == TRAP_HWBKPT)
162#elif defined __powerpc__
163# define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == SI_KERNEL || (X) == TRAP_BRKPT)
164# define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == TRAP_HWBKPT)
165#elif defined __mips__
166# define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == SI_KERNEL || (X) == TRAP_BRKPT)
167# define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == SI_KERNEL || (X) == TRAP_HWBKPT)
169# define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == TRAP_BRKPT)
170# define GDB_ARCH_IS_TRAP_HWBKPT(X) ((X) == TRAP_HWBKPT)
174# 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)