summaryrefslogtreecommitdiff
path: root/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch
blob: 89af000b12a487ca163fedc81094fce19f6c6546 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Index: coregrind/vgdb.c
===================================================================
--- coregrind/vgdb.c	(revision 13470)
+++ coregrind/vgdb.c	(revision 13471)
@@ -100,11 +100,10 @@
 
 #if defined(PTRACEINVOKER)
 #include <sys/user.h>
 #if defined(VGO_linux)
 #  include <sys/prctl.h>
-#  include <linux/ptrace.h>
 #endif
 #endif
 
 
 // Outputs information for the user about ptrace not working.

Index: coregrind/vgdb.c
===================================================================
--- coregrind/vgdb.c	(revision 13481)
+++ coregrind/vgdb.c	(revision 13482)
@@ -691,7 +691,7 @@
 //       runtime check not yet done.
 //   0 : PTRACE_GETREGS runtime check has failed.
 //   1 : PTRACE_GETREGS defined and runtime check ok.
-#ifdef PTRACE_GETREGS
+#ifdef HAVE_PTRACE_GETREGS
 static int has_working_ptrace_getregs = -1;
 #endif
 
@@ -702,7 +702,7 @@
 Bool getregs (int pid, void *regs, long regs_bsz)
 {
    DEBUG(1, "getregs regs_bsz %ld\n", regs_bsz);
-#  ifdef PTRACE_GETREGS
+#  ifdef HAVE_PTRACE_GETREGS
    if (has_working_ptrace_getregs) {
       // Platforms having GETREGS
       long res;
@@ -773,7 +773,7 @@
    DEBUG(1, "setregs regs_bsz %ld\n", regs_bsz);
 // Note : the below is checking for GETREGS, not SETREGS
 // as if one is defined and working, the other one should also work.
-#  ifdef PTRACE_GETREGS
+#  ifdef HAVE_PTRACE_GETREGS
    if (has_working_ptrace_getregs) {
       // Platforms having SETREGS
       long res;
Index: configure.in
===================================================================
--- configure.in	(revision 13481)
+++ configure.in	(revision 13482)
@@ -1040,6 +1040,25 @@
 
 AM_CONDITIONAL([HAVE_GNU_STPNCPY], [test x$ac_have_gnu_stpncpy = xyes])
 
+# Check for PTRACE_GETREGS
+
+AC_MSG_CHECKING([for PTRACE_GETREGS])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <stddef.h>
+#include <sys/ptrace.h>
+#include <sys/user.h>
+]], [[
+  void *p;
+  long res = ptrace (PTRACE_GETREGS, 0, p, p);
+]])], [
+AC_MSG_RESULT([yes])
+AC_DEFINE([HAVE_PTRACE_GETREGS], 1,
+          [Define to 1 if you have the `PTRACE_GETREGS' ptrace request.])
+], [
+AC_MSG_RESULT([no])
+])
+
+
 # Check for CLOCK_MONOTONIC
 
 AC_MSG_CHECKING([for CLOCK_MONOTONIC])