From 09ac5357eb70df04195a550aaf6b3751c12f37c9 Mon Sep 17 00:00:00 2001
From: Steve Bennett <steveb@workware.net.au>
Date: Mon, 18 Jul 2011 12:56:38 +1000
Subject: [PATCH] Check for additional PTRACE options, events, etc.

Signed-off-by: Steve Bennett <steveb@workware.net.au>
Reported-By: Douglas Mencken <dougmencken@gmail.com>
---
 configure.ac |    5 +++++
 defs.h       |   15 +++++++++++++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/configure.ac b/configure.ac
index f94ca00..df2f0e7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -313,8 +313,13 @@ AC_CHECK_DECLS([
 		PTRACE_O_TRACEFORK,
 		PTRACE_O_TRACEVFORK,
 		PTRACE_O_TRACECLONE,
+		PTRACE_O_TRACEEXEC,
+		PTRACE_O_TRACESYSGOOD,
 		PTRACE_EVENT_FORK,
 		PTRACE_EVENT_VFORK,
+		PTRACE_EVENT_VFORK_DONE,
+		PTRACE_EVENT_EXEC,
+		PTRACE_EVENT_EXIT
 		PTRACE_EVENT_CLONE],,, [#include <sys/ptrace.h>])
 
 AC_PATH_PROG([PERL], [perl])
diff --git a/defs.h b/defs.h
index 0e80868..8f81f4d 100644
--- a/defs.h
+++ b/defs.h
@@ -326,6 +326,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_TRACESYSGOOD
+#  define PTRACE_O_TRACESYSGOOD	0x00000001
+# endif
+# if !HAVE_DECL_PTRACE_O_TRACEEXEC
+#  define PTRACE_O_TRACEEXEC	0x00000010
+# endif
 
 # if !HAVE_DECL_PTRACE_EVENT_FORK
 #  define PTRACE_EVENT_FORK	1
@@ -336,6 +342,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	4
+# endif
 #endif /* LINUX */
 
 #if !defined __GNUC__
-- 
1.7.5.1

