summaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-02-15 21:18:10 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-02-15 21:18:10 (GMT)
commiteb0ad87b2a0444ae293979f3a8794a1961e83eb0 (patch)
treec6c52700750dd1b01efc2c361e148916861bfd81 /patches
parent94b68d94dc9cc045cf7a25d3377bdfe2eb182ed1 (diff)
Robert P. J. DAY says:
Add support for the selection of strace-4.5.16, including an updated set of patches from strace-4.5.15.
Diffstat (limited to 'patches')
-rw-r--r--patches/strace/4.5.16/100-strace-autoreconf.patch77
-rw-r--r--patches/strace/4.5.16/150-strace-dont-use-REG_SYSCALL-for-sh.patch11
-rw-r--r--patches/strace/4.5.16/200-strace-fix-arm-bad-syscall.patch19
-rw-r--r--patches/strace/4.5.16/250-strace-fix-disabled-largefile-syscalls.patch22
-rw-r--r--patches/strace/4.5.16/350-strace-statfs64-check.patch53
-rw-r--r--patches/strace/4.5.16/400-strace-superh-update.ac.patch22
-rw-r--r--patches/strace/4.5.16/450-strace-undef-CTL_PROC.patch13
-rw-r--r--patches/strace/4.5.16/500-strace-undef-PACKET_MEMBERSHIP.patch16
-rw-r--r--patches/strace/4.5.16/550-strace-undef-syscall.patch64
9 files changed, 297 insertions, 0 deletions
diff --git a/patches/strace/4.5.16/100-strace-autoreconf.patch b/patches/strace/4.5.16/100-strace-autoreconf.patch
new file mode 100644
index 0000000..666ef43
--- /dev/null
+++ b/patches/strace/4.5.16/100-strace-autoreconf.patch
@@ -0,0 +1,77 @@
+diff -dur strace-4.5.16.orig/configure strace-4.5.16/configure
+--- strace-4.5.16.orig/configure 2007-01-11 23:23:33.000000000 +0100
++++ strace-4.5.16/configure 2007-07-14 19:18:43.000000000 +0200
+@@ -5808,6 +5777,73 @@
+
+ fi
+
++echo "$as_me:$LINENO: checking for statfs64 in sys/(statfs|vfs).h" >&5
++echo $ECHO_N "checking for statfs64 in sys/(statfs|vfs).h... $ECHO_C" >&6
++if test "${ac_cv_type_statfs64+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifdef LINUX
++#include <linux/types.h>
++#include <sys/statfs.h>
++#else
++#include <sys/vfs.h>
++#endif
++int
++main ()
++{
++struct statfs64 st;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_type_statfs64=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_type_statfs64=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++echo "$as_me:$LINENO: result: $ac_cv_type_statfs64" >&5
++echo "${ECHO_T}$ac_cv_type_statfs64" >&6
++if test "$ac_cv_type_statfs64" = yes
++then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_STATFS64 1
++_ACEOF
++
++fi
++
+
+ { echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+ echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; }
diff --git a/patches/strace/4.5.16/150-strace-dont-use-REG_SYSCALL-for-sh.patch b/patches/strace/4.5.16/150-strace-dont-use-REG_SYSCALL-for-sh.patch
new file mode 100644
index 0000000..ebbf69a
--- /dev/null
+++ b/patches/strace/4.5.16/150-strace-dont-use-REG_SYSCALL-for-sh.patch
@@ -0,0 +1,11 @@
+diff -dur strace-4.5.16.orig/process.c strace-4.5.16/process.c
+--- strace-4.5.16.orig/process.c 2007-01-11 23:08:38.000000000 +0100
++++ strace-4.5.16/process.c 2007-07-14 19:19:58.000000000 +0200
+@@ -2685,7 +2685,6 @@
+ { 4*REG_GBR, "4*REG_GBR" },
+ { 4*REG_MACH, "4*REG_MACH" },
+ { 4*REG_MACL, "4*REG_MACL" },
+- { 4*REG_SYSCALL, "4*REG_SYSCALL" },
+ { 4*REG_FPUL, "4*REG_FPUL" },
+ { 4*REG_FPREG0, "4*REG_FPREG0" },
+ { 4*(REG_FPREG0+1), "4*REG_FPREG1" },
diff --git a/patches/strace/4.5.16/200-strace-fix-arm-bad-syscall.patch b/patches/strace/4.5.16/200-strace-fix-arm-bad-syscall.patch
new file mode 100644
index 0000000..d31b9da
--- /dev/null
+++ b/patches/strace/4.5.16/200-strace-fix-arm-bad-syscall.patch
@@ -0,0 +1,19 @@
+diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c
+--- strace-4.5.16.orig/syscall.c 2006-12-21 23:13:33.000000000 +0100
++++ strace-4.5.16/syscall.c 2007-07-14 19:21:44.000000000 +0200
+@@ -1045,6 +1045,15 @@
+ /*
+ * Note: we only deal with only 32-bit CPUs here.
+ */
++
++ if (!(tcp->flags & TCB_INSYSCALL) &&
++ (tcp->flags & TCB_WAITEXECVE)) {
++ /* caught a fake syscall from the execve's exit */
++ tcp->flags &= ~TCB_WAITEXECVE;
++ return 0;
++ }
++
++
+ if (regs.ARM_cpsr & 0x20) {
+ /*
+ * Get the Thumb-mode system call number
diff --git a/patches/strace/4.5.16/250-strace-fix-disabled-largefile-syscalls.patch b/patches/strace/4.5.16/250-strace-fix-disabled-largefile-syscalls.patch
new file mode 100644
index 0000000..2f47dc9
--- /dev/null
+++ b/patches/strace/4.5.16/250-strace-fix-disabled-largefile-syscalls.patch
@@ -0,0 +1,22 @@
+diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c
+--- strace-4.5.16.orig/syscall.c 2007-07-14 19:21:44.000000000 +0200
++++ strace-4.5.16/syscall.c 2007-07-14 19:22:49.000000000 +0200
+@@ -125,6 +125,18 @@
+ #define TP TRACE_PROCESS
+ #define TS TRACE_SIGNAL
+
++#ifndef HAVE_STATFS64
++/*
++ * Ugly hacks for systems that do not have LFS
++ */
++
++#define sys_truncate64 sys_truncate
++#define sys_ftruncate64 sys_ftruncate
++#define sys_getdents64 sys_getdents
++#define sys_statfs64 sys_statfs
++#define sys_fstatfs64 sys_fstatfs
++#endif
++
+ static const struct sysent sysent0[] = {
+ #include "syscallent.h"
+ };
diff --git a/patches/strace/4.5.16/350-strace-statfs64-check.patch b/patches/strace/4.5.16/350-strace-statfs64-check.patch
new file mode 100644
index 0000000..758966b
--- /dev/null
+++ b/patches/strace/4.5.16/350-strace-statfs64-check.patch
@@ -0,0 +1,53 @@
+diff -dur strace-4.5.16.orig/acinclude.m4 strace-4.5.16/acinclude.m4
+--- strace-4.5.16.orig/acinclude.m4 2004-04-14 04:21:01.000000000 +0200
++++ strace-4.5.16/acinclude.m4 2007-07-14 19:25:25.000000000 +0200
+@@ -210,6 +210,26 @@
+ fi
+ ])
+
++dnl ### A macro to determine whether statfs64 is defined.
++AC_DEFUN([AC_STATFS64],
++[AC_MSG_CHECKING(for statfs64 in sys/(statfs|vfs).h)
++AC_CACHE_VAL(ac_cv_type_statfs64,
++[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef LINUX
++#include <linux/types.h>
++#include <sys/statfs.h>
++#else
++#include <sys/vfs.h>
++#endif]], [[struct statfs64 st;]])],[ac_cv_type_statfs64=yes],[ac_cv_type_statfs64=no])])
++AC_MSG_RESULT($ac_cv_type_statfs64)
++if test "$ac_cv_type_statfs64" = yes
++then
++ AC_DEFINE([HAVE_STATFS64], 1,
++[Define if statfs64 is available in sys/statfs.h or sys/vfs.h.])
++fi
++])
++
++
++
+ dnl ### A macro to determine if off_t is a long long
+ AC_DEFUN([AC_OFF_T_IS_LONG_LONG],
+ [AC_MSG_CHECKING(for long long off_t)
+diff -dur strace-4.5.16.orig/configure.ac strace-4.5.16/configure.ac
+--- strace-4.5.16.orig/configure.ac 2007-01-11 12:37:55.000000000 +0100
++++ strace-4.5.16/configure.ac 2007-07-14 19:25:25.000000000 +0200
+@@ -169,6 +169,7 @@
+ struct stat.st_level,
+ struct stat.st_rdev])
+ AC_STAT64
++AC_STATFS64
+
+ AC_TYPE_SIGNAL
+ AC_TYPE_UID_T
+diff -dur strace-4.5.16.orig/file.c strace-4.5.16/file.c
+--- strace-4.5.16.orig/file.c 2007-01-15 21:25:52.000000000 +0100
++++ strace-4.5.16/file.c 2007-07-14 19:25:25.000000000 +0200
+@@ -1636,7 +1636,7 @@
+ return 0;
+ }
+
+-#ifdef LINUX
++#ifdef HAVE_STATFS64
+ static void
+ printstatfs64(tcp, addr)
+ struct tcb *tcp;
diff --git a/patches/strace/4.5.16/400-strace-superh-update.ac.patch b/patches/strace/4.5.16/400-strace-superh-update.ac.patch
new file mode 100644
index 0000000..4129315
--- /dev/null
+++ b/patches/strace/4.5.16/400-strace-superh-update.ac.patch
@@ -0,0 +1,22 @@
+diff -dur strace-4.5.16.orig/configure.ac strace-4.5.16/configure.ac
+--- strace-4.5.16.orig/configure.ac 2007-07-14 19:25:25.000000000 +0200
++++ strace-4.5.16/configure.ac 2007-07-14 19:27:35.000000000 +0200
+@@ -91,14 +91,14 @@
+ arch=hppa
+ AC_DEFINE([HPPA], 1, [Define for the HPPA architecture.])
+ ;;
+-sh)
+- arch=sh
+- AC_DEFINE([SH], 1, [Define for the SH architecture.])
+- ;;
+ sh64)
+ arch=sh64
+ AC_DEFINE([SH64], 1, [Define for the SH64 architecture.])
+ ;;
++sh*)
++ arch=sh
++ AC_DEFINE([SH], 1, [Define for the SH architecture.])
++ ;;
+ x86?64*)
+ arch=x86_64
+ AC_DEFINE([X86_64], 1, [Define for the AMD x86-64 architecture.])
diff --git a/patches/strace/4.5.16/450-strace-undef-CTL_PROC.patch b/patches/strace/4.5.16/450-strace-undef-CTL_PROC.patch
new file mode 100644
index 0000000..9bbd78c
--- /dev/null
+++ b/patches/strace/4.5.16/450-strace-undef-CTL_PROC.patch
@@ -0,0 +1,13 @@
+diff -dur strace-4.5.16.orig/system.c strace-4.5.16/system.c
+--- strace-4.5.16.orig/system.c 2007-01-17 00:22:36.000000000 +0100
++++ strace-4.5.16/system.c 2007-07-14 19:28:41.000000000 +0200
+@@ -1612,7 +1612,9 @@
+ { CTL_KERN, "CTL_KERN" },
+ { CTL_VM, "CTL_VM" },
+ { CTL_NET, "CTL_NET" },
++#ifdef CTL_PROC
+ { CTL_PROC, "CTL_PROC" },
++#endif
+ { CTL_FS, "CTL_FS" },
+ { CTL_DEBUG, "CTL_DEBUG" },
+ { CTL_DEV, "CTL_DEV" },
diff --git a/patches/strace/4.5.16/500-strace-undef-PACKET_MEMBERSHIP.patch b/patches/strace/4.5.16/500-strace-undef-PACKET_MEMBERSHIP.patch
new file mode 100644
index 0000000..3098f80
--- /dev/null
+++ b/patches/strace/4.5.16/500-strace-undef-PACKET_MEMBERSHIP.patch
@@ -0,0 +1,16 @@
+diff -dur strace-4.5.16.orig/net.c strace-4.5.16/net.c
+--- strace-4.5.16.orig/net.c 2006-12-13 20:57:23.000000000 +0100
++++ strace-4.5.16/net.c 2007-07-14 19:29:36.000000000 +0200
+@@ -800,8 +800,12 @@
+
+ #ifdef SOL_PACKET
+ static const struct xlat sockpacketoptions[] = {
++#if defined(PACKET_ADD_MEMBERSHIP)
+ { PACKET_ADD_MEMBERSHIP, "PACKET_ADD_MEMBERSHIP" },
++#endif
++#if defined(PACKET_DROP_MEMBERSHIP)
+ { PACKET_DROP_MEMBERSHIP, "PACKET_DROP_MEMBERSHIP"},
++#endif
+ #if defined(PACKET_RECV_OUTPUT)
+ { PACKET_RECV_OUTPUT, "PACKET_RECV_OUTPUT" },
+ #endif
diff --git a/patches/strace/4.5.16/550-strace-undef-syscall.patch b/patches/strace/4.5.16/550-strace-undef-syscall.patch
new file mode 100644
index 0000000..6194429
--- /dev/null
+++ b/patches/strace/4.5.16/550-strace-undef-syscall.patch
@@ -0,0 +1,64 @@
+diff -dur strace-4.5.16.orig/linux/syscallent.h strace-4.5.16/linux/syscallent.h
+--- strace-4.5.16.orig/linux/syscallent.h 2006-10-16 03:17:52.000000000 +0200
++++ strace-4.5.16/linux/syscallent.h 2007-07-14 19:30:16.000000000 +0200
+@@ -130,7 +130,11 @@
+ { 2, TF, sys_statfs, "statfs" }, /* 99 */
+ { 2, TD, sys_fstatfs, "fstatfs" }, /* 100 */
+ { 3, 0, sys_ioperm, "ioperm" }, /* 101 */
+- { 2, TD, sys_socketcall, "socketcall", SYS_socketcall }, /* 102 */
++ { 2, TD, sys_socketcall, "socketcall"
++#ifdef __NR_socketcall
++ , SYS_socketcall
++#endif
++ }, /* 102 */
+ { 3, 0, sys_syslog, "syslog" }, /* 103 */
+ { 3, 0, sys_setitimer, "setitimer" }, /* 104 */
+ { 2, 0, sys_getitimer, "getitimer" }, /* 105 */
+@@ -145,7 +149,11 @@
+ { 4, TP, sys_wait4, "wait4", SYS_wait4 }, /* 114 */
+ { 1, 0, sys_swapoff, "swapoff" }, /* 115 */
+ { 1, 0, sys_sysinfo, "sysinfo" }, /* 116 */
+- { 6, 0, sys_ipc, "ipc", SYS_ipc }, /* 117 */
++ { 6, 0, sys_ipc, "ipc"
++#ifdef __NR_ipc
++ , SYS_ipc
++#endif
++ }, /* 117 */
+ { 1, TD, sys_fsync, "fsync" }, /* 118 */
+ { 1, TS, sys_sigreturn, "sigreturn" }, /* 119 */
+ { 5, TP, sys_clone, "clone", SYS_clone }, /* 120 */
+@@ -282,7 +290,11 @@
+ { 3, 0, sys_io_cancel, "io_cancel" }, /* 249 */
+ { 5, 0, sys_fadvise64, "fadvise64" }, /* 250 */
+ { 5, 0, printargs, "SYS_251" }, /* 251 */
+- { 1, TP, sys_exit, "exit_group", __NR_exit_group }, /* 252 */
++ { 1, TP, sys_exit, "exit_group"
++#ifdef __NR_exit_group
++ , __NR_exit_group
++#endif
++ }, /* 252 */
+ { 4, 0, printargs, "lookup_dcookie"}, /* 253 */
+ { 1, 0, sys_epoll_create, "epoll_create" }, /* 254 */
+ { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 255 */
+diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c
+--- strace-4.5.16.orig/syscall.c 2007-07-14 19:22:49.000000000 +0200
++++ strace-4.5.16/syscall.c 2007-07-14 19:30:16.000000000 +0200
+@@ -2383,14 +2383,18 @@
+ switch (known_scno(tcp)) {
+ #ifdef LINUX
+ #if !defined (ALPHA) && !defined(SPARC) && !defined(SPARC64) && !defined(MIPS) && !defined(HPPA)
++#ifdef __NR_socketcall
+ case SYS_socketcall:
+ decode_subcall(tcp, SYS_socket_subcall,
+ SYS_socket_nsubcalls, deref_style);
+ break;
++#endif
++#ifdef __NR_ipc
+ case SYS_ipc:
+ decode_subcall(tcp, SYS_ipc_subcall,
+ SYS_ipc_nsubcalls, shift_style);
+ break;
++#endif
+ #endif /* !ALPHA && !MIPS && !SPARC && !SPARC64 && !HPPA */
+ #if defined (SPARC) || defined (SPARC64)
+ case SYS_socketcall: