From 2d0c3a704afe6bdc7be129e9f9217ec1369c1bc8 Mon Sep 17 00:00:00 2001 From: James Hogan Date: Fri, 30 Nov 2012 10:08:13 +0000 Subject: [PATCH] update ptrace.h to latest from glibc Update libc/sysdeps/linux/common/sys/ptrace.h to latest from glibc's sysdeps/unix/sysv/linux/sys/ptrace.h. This adds definitions for operations: - PTRACE_GETREGSET - PTRACE_SETREGSET - PTRACE_SEIZE - PTRACE_INTERRUPT - PTRACE_LISTEN And adds flags: - PTRACE_SEIZE_DEVEL And adds event codes: - PTRACE_EVENT_SECCOMP This is to allow access to the generic interface for accessing architecture specific regsets using the corresponding NT_* types, required for new Linux kernel architecture ports. Signed-off-by: James Hogan Signed-off-by: Mike Frysinger Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/common/sys/ptrace.h | 42 +++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/libc/sysdeps/linux/common/sys/ptrace.h b/libc/sysdeps/linux/common/sys/ptrace.h index 08658f9..95b3fdf 100644 --- a/libc/sysdeps/linux/common/sys/ptrace.h +++ b/libc/sysdeps/linux/common/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux version. - Copyright (C) 1996-1999,2000,2006,2007 Free Software Foundation, Inc. + Copyright (C) 1996-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -125,13 +125,40 @@ enum __ptrace_request #define PT_GETSIGINFO PTRACE_GETSIGINFO /* Set new siginfo for process. */ - PTRACE_SETSIGINFO = 0x4203 + PTRACE_SETSIGINFO = 0x4203, #define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208 }; +/* Flag for PTRACE_LISTEN. */ +enum __ptrace_flags +{ + PTRACE_SEIZE_DEVEL = 0x80000000 +}; + /* Options set using PTRACE_SETOPTIONS. */ -enum __ptrace_setoptions { +enum __ptrace_setoptions +{ PTRACE_O_TRACESYSGOOD = 0x00000001, PTRACE_O_TRACEFORK = 0x00000002, PTRACE_O_TRACEVFORK = 0x00000004, @@ -139,17 +166,20 @@ enum __ptrace_setoptions { PTRACE_O_TRACEEXEC = 0x00000010, PTRACE_O_TRACEVFORKDONE = 0x00000020, PTRACE_O_TRACEEXIT = 0x00000040, - PTRACE_O_MASK = 0x0000007f + PTRACE_O_TRACESECCOMP = 0x00000080, + PTRACE_O_MASK = 0x000000ff }; /* Wait extended result codes for the above trace options. */ -enum __ptrace_eventcodes { +enum __ptrace_eventcodes +{ PTRACE_EVENT_FORK = 1, PTRACE_EVENT_VFORK = 2, PTRACE_EVENT_CLONE = 3, PTRACE_EVENT_EXEC = 4, PTRACE_EVENT_VFORK_DONE = 5, - PTRACE_EVENT_EXIT = 6 + PTRACE_EVENT_EXIT = 6, + PTRAVE_EVENT_SECCOMP = 7 }; /* Perform process tracing functions. REQUEST is one of the values -- 1.7.10.4