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 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 #include #include -#include -#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 #include #include -#include "ptrace.h" #include -#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__ */