]> granicus.if.org Git - strace/commitdiff
Check for additional PTRACE_* constants
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 19 Jul 2011 22:13:11 +0000 (22:13 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 19 Jul 2011 22:13:11 +0000 (22:13 +0000)
* configure.ac (AC_CHECK_DECLS): Add PTRACE_O_TRACESYSGOOD,
PTRACE_O_TRACEEXEC, PTRACE_O_TRACEEXIT, PTRACE_EVENT_EXEC,
PTRACE_EVENT_VFORK_DONE and PTRACE_EVENT_EXIT.
* defs.h [LINUX]: Define these PTRACE_* constants when they are not
provided by <sys/ptrace.h>.

Reported-by: Douglas Mencken <dougmencken@gmail.com>
Reported-by: Steve Bennett <steveb@workware.net.au>
configure.ac
defs.h

index f94ca0053bff2142667cfcb668f57eba306a9e05..6b88df879cb3a1334899fded737b807e49b5a99e 100644 (file)
@@ -310,12 +310,18 @@ AC_CHECK_DECLS([
                PTRACE_SETOPTIONS,
                PTRACE_GETEVENTMSG,
                PTRACE_GETSIGINFO,
+               PTRACE_O_TRACESYSGOOD,
                PTRACE_O_TRACEFORK,
                PTRACE_O_TRACEVFORK,
                PTRACE_O_TRACECLONE,
+               PTRACE_O_TRACEEXEC,
+               PTRACE_O_TRACEEXIT,
                PTRACE_EVENT_FORK,
                PTRACE_EVENT_VFORK,
-               PTRACE_EVENT_CLONE],,, [#include <sys/ptrace.h>])
+               PTRACE_EVENT_CLONE,
+               PTRACE_EVENT_EXEC,
+               PTRACE_EVENT_VFORK_DONE,
+               PTRACE_EVENT_EXIT],,, [#include <sys/ptrace.h>])
 
 AC_PATH_PROG([PERL], [perl])
 
diff --git a/defs.h b/defs.h
index 0e80868dab5d321e18aa49fb8e1715df2e13f1b0..b34f4429ad83ff3ca4d2a09c3102ba1d8b1a8fa4 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -317,6 +317,10 @@ extern int mp_ioctl(int f, int c, void *a, int s);
 # if !HAVE_DECL_PTRACE_GETSIGINFO
 #  define PTRACE_GETSIGINFO    0x4202
 # endif
+
+# if !HAVE_DECL_PTRACE_O_TRACESYSGOOD
+#  define PTRACE_O_TRACESYSGOOD        0x00000001
+# endif
 # if !HAVE_DECL_PTRACE_O_TRACEFORK
 #  define PTRACE_O_TRACEFORK   0x00000002
 # endif
@@ -326,6 +330,12 @@ extern int mp_ioctl(int f, int c, void *a, int s);
 # if !HAVE_DECL_PTRACE_O_TRACECLONE
 #  define PTRACE_O_TRACECLONE  0x00000008
 # endif
+# if !HAVE_DECL_PTRACE_O_TRACEEXEC
+#  define PTRACE_O_TRACEEXEC   0x00000010
+# endif
+# if !HAVE_DECL_PTRACE_O_TRACEEXIT
+#  define PTRACE_O_TRACEEXIT   0x00000040
+# endif
 
 # if !HAVE_DECL_PTRACE_EVENT_FORK
 #  define PTRACE_EVENT_FORK    1
@@ -336,6 +346,15 @@ extern int mp_ioctl(int f, int c, void *a, int s);
 # if !HAVE_DECL_PTRACE_EVENT_CLONE
 #  define PTRACE_EVENT_CLONE   3
 # endif
+# if !HAVE_DECL_PTRACE_EVENT_EXEC
+#  define PTRACE_EVENT_EXEC    4
+# endif
+# if !HAVE_DECL_PTRACE_EVENT_VFORK_DONE
+#  define PTRACE_EVENT_VFORK_DONE      5
+# endif
+# if !HAVE_DECL_PTRACE_EVENT_EXIT
+#  define PTRACE_EVENT_EXIT    6
+# endif
 #endif /* LINUX */
 
 #if !defined __GNUC__