aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/ia64/sys/ptrace.h')
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sys/ptrace.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
index de1f0af6b6..986c4b2d33 100644
--- a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
@@ -21,6 +21,7 @@
#define _SYS_PTRACE_H 1
#include <features.h>
+#include <sys/ucontext.h>
__BEGIN_DECLS
@@ -90,11 +91,34 @@ enum __ptrace_request
PTRACE_DETACH = 17,
#define PT_DETACH PTRACE_DETACH
+ /* Get all registers (pt_all_user_regs) in one shot */
+ PTRACE_GETREGS = 18,
+#define PT_GETREGS PTRACE_GETREGS
+
+ /* Set all registers (pt_all_user_regs) in one shot */
+ PTRACE_SETREGS = 19,
+#define PT_SETREGS PTRACE_SETREGS
+
/* Continue and stop at the next (return from) syscall. */
PTRACE_SYSCALL = 24
#define PT_SYSCALL PTRACE_SYSCALL
};
+/* pt_all_user_regs is used for PTRACE_GETREGS/PTRACE_SETREGS. */
+struct pt_all_user_regs
+ {
+ unsigned long nat;
+ unsigned long cr_iip;
+ unsigned long cfm;
+ unsigned long cr_ipsr;
+ unsigned long pr;
+
+ unsigned long gr[32];
+ unsigned long br[8];
+ unsigned long ar[128];
+ struct ia64_fpreg fr[128];
+ };
+
/* Perform process tracing functions. REQUEST is one of the values
above, and determines the action to be taken.
For all requests except PTRACE_TRACEME, PID specifies the process to be