summaryrefslogtreecommitdiff
path: root/patches/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch')
-rw-r--r--patches/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/patches/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch b/patches/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch
new file mode 100644
index 0000000..48af146
--- /dev/null
+++ b/patches/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch
@@ -0,0 +1,72 @@
+This patch tries to fix the issue when PTRACE_EVENT_FORK is not found in the standard
+system headers. The begininngs of this was already in place in trace.c, this patch
+only takes that idea and puts it in a shared include file for trace.c *and* events.c.
+The latter of which otherwise fails to build on Arm.
+
+ Joachim Nilsson <jocke@vmlinux.org>
+
+diff -ruN ltrace-0.5.3.orig/sysdeps/linux-gnu/events.c ltrace-0.5.3/sysdeps/linux-gnu/events.c
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/events.c 2009-07-25 17:13:02.000000000 +0200
++++ ltrace-0.5.3/sysdeps/linux-gnu/events.c 2010-01-03 14:33:46.000000000 +0100
+@@ -7,9 +7,8 @@
+ #include <errno.h>
+ #include <signal.h>
+ #include <string.h>
+-#include <sys/ptrace.h>
+
+-#include "common.h"
++#include "trace.h"
+
+ static Event event;
+
+diff -ruN ltrace-0.5.3.orig/sysdeps/linux-gnu/trace.c ltrace-0.5.3/sysdeps/linux-gnu/trace.c
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/trace.c 2009-07-25 17:13:02.000000000 +0200
++++ ltrace-0.5.3/sysdeps/linux-gnu/trace.c 2010-01-03 14:33:38.000000000 +0100
+@@ -5,10 +5,9 @@
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+-#include "ptrace.h"
+ #include <asm/unistd.h>
+
+-#include "common.h"
++#include "trace.h"
+
+ /* If the system headers did not provide the constants, hard-code the normal
+ values. */
+diff -ruN ltrace-0.5.3.orig/sysdeps/linux-gnu/trace.h ltrace-0.5.3/sysdeps/linux-gnu/trace.h
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/trace.h 1970-01-01 01:00:00.000000000 +0100
++++ ltrace-0.5.3/sysdeps/linux-gnu/trace.h 2010-01-03 14:33:26.000000000 +0100
+@@ -0,0 +1,32 @@
++/* If the system headers did not provide the constants, hard-code the normal values. */
++#ifndef __SYSDEPS_TRACE_H__
++#define __SYSDEPS_TRACE_H__
++
++#include "ptrace.h"
++#include "common.h"
++
++#ifndef PTRACE_EVENT_FORK
++#warning PTRACE_EVENT_FORK not found... redefining.
++#define PTRACE_OLDSETOPTIONS 21
++#define PTRACE_SETOPTIONS 0x4200
++#define PTRACE_GETEVENTMSG 0x4201
++
++/* options set using PTRACE_SETOPTIONS */
++#define PTRACE_O_TRACESYSGOOD 0x00000001
++#define PTRACE_O_TRACEFORK 0x00000002
++#define PTRACE_O_TRACEVFORK 0x00000004
++#define PTRACE_O_TRACECLONE 0x00000008
++#define PTRACE_O_TRACEEXEC 0x00000010
++#define PTRACE_O_TRACEVFORKDONE 0x00000020
++#define PTRACE_O_TRACEEXIT 0x00000040
++
++/* Wait extended result codes for the above trace options. */
++#define PTRACE_EVENT_FORK 1
++#define PTRACE_EVENT_VFORK 2
++#define PTRACE_EVENT_CLONE 3
++#define PTRACE_EVENT_EXEC 4
++#define PTRACE_EVENT_VFORK_DONE 5
++#define PTRACE_EVENT_EXIT 6
++
++#endif /* PTRACE_EVENT_FORK */
++#endif /* __SYSDEPS_TRACE_H__ */