pkgsrc/sysutils/strace/patches/patch-ao
2007-12-05 16:30:59 +00:00

175 lines
3.4 KiB
Text

$NetBSD: patch-ao,v 1.3 2007/12/05 16:31:00 christos Exp $
--- process.c.orig 2007-01-11 17:08:38.000000000 -0500
+++ process.c 2007-12-05 11:21:20.000000000 -0500
@@ -40,6 +40,7 @@
#include "defs.h"
#include <fcntl.h>
+#include <sys/param.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/wait.h>
@@ -52,7 +53,7 @@
#include <machine/reg.h>
#endif /* SUNOS4 */
-#ifdef FREEBSD
+#ifdef ALLBSD
#include <sys/ptrace.h>
#endif
@@ -305,7 +306,7 @@
#endif /* HAVE_PRCTL */
-#if defined(FREEBSD) || defined(SUNOS4) || defined(SVR4)
+#if defined(ALLBSD) || defined(SUNOS4) || defined(SVR4)
int
sys_gethostid(tcp)
struct tcb *tcp;
@@ -314,7 +315,7 @@
return RVAL_HEX;
return 0;
}
-#endif /* FREEBSD || SUNOS4 || SVR4 */
+#endif /* ALLBSD || SUNOS4 || SVR4 */
int
sys_sethostname(tcp)
@@ -327,7 +328,7 @@
return 0;
}
-#if defined(ALPHA) || defined(FREEBSD) || defined(SUNOS4) || defined(SVR4)
+#if defined(ALPHA) || defined(ALLBSD) || defined(SUNOS4) || defined(SVR4)
int
sys_gethostname(tcp)
struct tcb *tcp;
@@ -341,7 +342,7 @@
}
return 0;
}
-#endif /* ALPHA || FREEBSD || SUNOS4 || SVR4 */
+#endif /* ALPHA || ALLBSD || SUNOS4 || SVR4 */
int
sys_setdomainname(tcp)
@@ -1058,7 +1059,7 @@
#endif /* !USE_PROCFS */
-#if defined(SUNOS4) || defined(LINUX) || defined(FREEBSD)
+#if defined(SUNOS4) || defined(LINUX) || defined(ALLBSD)
int
sys_vfork(tcp)
@@ -1069,7 +1070,7 @@
return 0;
}
-#endif /* SUNOS4 || LINUX || FREEBSD */
+#endif /* SUNOS4 || LINUX || ALLBSD */
#ifndef LINUX
@@ -2051,7 +2052,7 @@
#endif /* SVR4 */
-#ifdef FREEBSD
+#ifdef ALLBSD
int
sys_wait(tcp)
struct tcb *tcp;
@@ -2070,12 +2071,14 @@
}
#endif
+#ifndef NETBSD
int
sys_waitpid(tcp)
struct tcb *tcp;
{
return printwaitn(tcp, 3, 0);
}
+#endif
int
sys_wait4(tcp)
@@ -2205,7 +2208,7 @@
#ifndef SVR4
static const struct xlat ptrace_cmds[] = {
-#ifndef FREEBSD
+#ifndef ALLBSD
{ PTRACE_TRACEME, "PTRACE_TRACEME" },
{ PTRACE_PEEKTEXT, "PTRACE_PEEKTEXT", },
{ PTRACE_PEEKDATA, "PTRACE_PEEKDATA", },
@@ -2271,7 +2274,7 @@
#endif /* !I386 */
{ PTRACE_GETUCODE, "PTRACE_GETUCODE" },
#endif /* SUNOS4 */
-#else /* FREEBSD */
+#else /* ALLBSD */
{ PT_TRACE_ME, "PT_TRACE_ME" },
{ PT_READ_I, "PT_READ_I" },
{ PT_READ_D, "PT_READ_D" },
@@ -2289,13 +2292,17 @@
{ PT_SETREGS, "PT_SETREGS" },
{ PT_GETFPREGS, "PT_GETFPREGS" },
{ PT_SETFPREGS, "PT_SETFPREGS" },
+#ifdef PT_GETDBREGS
{ PT_GETDBREGS, "PT_GETDBREGS" },
+#endif
+#ifdef PT_SETDBREGS
{ PT_SETDBREGS, "PT_SETDBREGS" },
-#endif /* FREEBSD */
+#endif
+#endif /* ALLBSD */
{ 0, NULL },
};
-#ifndef FREEBSD
+#ifndef ALLBSD
#ifndef SUNOS4_KERNEL_ARCH_KLUDGE
static
#endif /* !SUNOS4_KERNEL_ARCH_KLUDGE */
@@ -2982,12 +2989,14 @@
sys_ptrace(tcp)
struct tcb *tcp;
{
+#ifndef NETBSD
const struct xlat *x;
+#endif
long addr;
if (entering(tcp)) {
printxval(ptrace_cmds, tcp->u_arg[0],
-#ifndef FREEBSD
+#ifndef ALLBSD
"PTRACE_???"
#else
"PT_???"
@@ -2995,7 +3004,7 @@
);
tprintf(", %lu, ", tcp->u_arg[1]);
addr = tcp->u_arg[2];
-#ifndef FREEBSD
+#ifndef ALLBSD
if (tcp->u_arg[0] == PTRACE_PEEKUSER
|| tcp->u_arg[0] == PTRACE_POKEUSER) {
for (x = struct_user_offsets; x->str; x++) {
@@ -3057,10 +3066,10 @@
}
}
#endif /* SUNOS4 */
-#ifdef FREEBSD
+#ifdef ALLBSD
tprintf("%lu", tcp->u_arg[3]);
}
-#endif /* FREEBSD */
+#endif /* ALLBSD */
return 0;
}