1 This patch tries to fix the issue when PTRACE_EVENT_FORK is not found in the standard
2 system headers. The begininngs of this was already in place in trace.c, this patch
3 only takes that idea and puts it in a shared include file for trace.c *and* events.c.
4 The latter of which otherwise fails to build on Arm.
6 Joachim Nilsson <jocke@vmlinux.org>
8 diff -ruN ltrace-0.5.3.orig/sysdeps/linux-gnu/events.c ltrace-0.5.3/sysdeps/linux-gnu/events.c
9 --- ltrace-0.5.3.orig/sysdeps/linux-gnu/events.c 2009-07-25 17:13:02.000000000 +0200
10 +++ ltrace-0.5.3/sysdeps/linux-gnu/events.c 2010-01-03 14:33:46.000000000 +0100
15 -#include <sys/ptrace.h>
22 diff -ruN ltrace-0.5.3.orig/sysdeps/linux-gnu/trace.c ltrace-0.5.3/sysdeps/linux-gnu/trace.c
23 --- ltrace-0.5.3.orig/sysdeps/linux-gnu/trace.c 2009-07-25 17:13:02.000000000 +0200
24 +++ ltrace-0.5.3/sysdeps/linux-gnu/trace.c 2010-01-03 14:33:38.000000000 +0100
27 #include <sys/types.h>
30 #include <asm/unistd.h>
35 /* If the system headers did not provide the constants, hard-code the normal
37 diff -ruN ltrace-0.5.3.orig/sysdeps/linux-gnu/trace.h ltrace-0.5.3/sysdeps/linux-gnu/trace.h
38 --- ltrace-0.5.3.orig/sysdeps/linux-gnu/trace.h 1970-01-01 01:00:00.000000000 +0100
39 +++ ltrace-0.5.3/sysdeps/linux-gnu/trace.h 2010-01-03 14:33:26.000000000 +0100
41 +/* If the system headers did not provide the constants, hard-code the normal values. */
42 +#ifndef __SYSDEPS_TRACE_H__
43 +#define __SYSDEPS_TRACE_H__
48 +#ifndef PTRACE_EVENT_FORK
49 +#warning PTRACE_EVENT_FORK not found... redefining.
50 +#define PTRACE_OLDSETOPTIONS 21
51 +#define PTRACE_SETOPTIONS 0x4200
52 +#define PTRACE_GETEVENTMSG 0x4201
54 +/* options set using PTRACE_SETOPTIONS */
55 +#define PTRACE_O_TRACESYSGOOD 0x00000001
56 +#define PTRACE_O_TRACEFORK 0x00000002
57 +#define PTRACE_O_TRACEVFORK 0x00000004
58 +#define PTRACE_O_TRACECLONE 0x00000008
59 +#define PTRACE_O_TRACEEXEC 0x00000010
60 +#define PTRACE_O_TRACEVFORKDONE 0x00000020
61 +#define PTRACE_O_TRACEEXIT 0x00000040
63 +/* Wait extended result codes for the above trace options. */
64 +#define PTRACE_EVENT_FORK 1
65 +#define PTRACE_EVENT_VFORK 2
66 +#define PTRACE_EVENT_CLONE 3
67 +#define PTRACE_EVENT_EXEC 4
68 +#define PTRACE_EVENT_VFORK_DONE 5
69 +#define PTRACE_EVENT_EXIT 6
71 +#endif /* PTRACE_EVENT_FORK */
72 +#endif /* __SYSDEPS_TRACE_H__ */
73 --- ltrace-0.5.3.orig/sysdeps/linux-gnu/ppc/plt.c 2009-07-25 09:13:02.000000000 -0600
74 +++ ltrace-0.5.3/sysdeps/linux-gnu/ppc/plt.c 2010-09-28 18:30:07.091618190 -0600
81 arch_plt_sym_val(struct ltelf *lte, size_t ndx, GElf_Rela * rela) {