summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-10-28 18:00:34 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-10-28 18:00:34 (GMT)
commit4ae5060ec81b4d4673a4091acd00e16edf16007e (patch)
treebbcc8ce47a567fb8dfc1e7064bd2ee3d06c5ae85
parent17d149e8b24ae4fd651de06438373779224692f1 (diff)
debug/strace: add latest version, unmarkprevious EXPERIMENTAL
Also propagate the patchset from 4.5.18 to 4.5.19.
-rw-r--r--config/debug/strace.in9
-rw-r--r--patches/strace/4.5.19/100-autoreconf.patch77
-rw-r--r--patches/strace/4.5.19/110-fix-arm-bad-syscall.patch19
-rw-r--r--patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch22
-rw-r--r--patches/strace/4.5.19/130-statfs64-check.patch53
-rw-r--r--patches/strace/4.5.19/140-undef-CTL_PROC.patch13
-rw-r--r--patches/strace/4.5.19/150-undef-syscall.patch42
7 files changed, 233 insertions, 2 deletions
diff --git a/config/debug/strace.in b/config/debug/strace.in
index 8f6ce0d..4fc5846 100644
--- a/config/debug/strace.in
+++ b/config/debug/strace.in
@@ -8,11 +8,15 @@ choice
# Don't remove next line
# CT_INSERT_VERSION_BELOW
-config STRACE_V_4_5_18
+config STRACE_V_4_5_19
bool
- prompt "4.5.18 (EXPERIMENTAL)"
+ prompt "4.5.19 (EXPERIMENTAL)"
depends on EXPERIMENTAL
+config STRACE_V_4_5_18
+ bool
+ prompt "4.5.18"
+
config STRACE_V_4_5_17
bool
prompt "4.5.17"
@@ -31,6 +35,7 @@ config STRACE_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
+ default "4.5.19" if STRACE_V_4_5_19
default "4.5.18" if STRACE_V_4_5_18
default "4.5.17" if STRACE_V_4_5_17
default "4.5.16" if STRACE_V_4_5_16
diff --git a/patches/strace/4.5.19/100-autoreconf.patch b/patches/strace/4.5.19/100-autoreconf.patch
new file mode 100644
index 0000000..e7972db
--- /dev/null
+++ b/patches/strace/4.5.19/100-autoreconf.patch
@@ -0,0 +1,77 @@
+diff -durN strace-4.5.19.orig/configure strace-4.5.19/configure
+--- strace-4.5.19.orig/configure 2009-10-21 19:41:11.000000000 +0200
++++ strace-4.5.19/configure 2009-10-28 18:47:18.000000000 +0100
+@@ -5773,6 +5773,73 @@
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
++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
++
+
+ int
+ main ()
diff --git a/patches/strace/4.5.19/110-fix-arm-bad-syscall.patch b/patches/strace/4.5.19/110-fix-arm-bad-syscall.patch
new file mode 100644
index 0000000..97a60ba
--- /dev/null
+++ b/patches/strace/4.5.19/110-fix-arm-bad-syscall.patch
@@ -0,0 +1,19 @@
+diff -durN strace-4.5.19.orig/syscall.c strace-4.5.19/syscall.c
+--- strace-4.5.19.orig/syscall.c 2009-10-12 21:54:21.000000000 +0200
++++ strace-4.5.19/syscall.c 2009-10-28 18:47:18.000000000 +0100
+@@ -1022,6 +1022,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.19/120-fix-disabled-largefile-syscalls.patch b/patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch
new file mode 100644
index 0000000..a555fc2
--- /dev/null
+++ b/patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch
@@ -0,0 +1,22 @@
+diff -durN strace-4.5.19.orig/syscall.c strace-4.5.19/syscall.c
+--- strace-4.5.19.orig/syscall.c 2009-10-28 18:47:18.000000000 +0100
++++ strace-4.5.19/syscall.c 2009-10-28 18:47:18.000000000 +0100
+@@ -110,6 +110,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.19/130-statfs64-check.patch b/patches/strace/4.5.19/130-statfs64-check.patch
new file mode 100644
index 0000000..0959bdd
--- /dev/null
+++ b/patches/strace/4.5.19/130-statfs64-check.patch
@@ -0,0 +1,53 @@
+diff -durN strace-4.5.19.orig/acinclude.m4 strace-4.5.19/acinclude.m4
+--- strace-4.5.19.orig/acinclude.m4 2004-04-14 04:45:53.000000000 +0200
++++ strace-4.5.19/acinclude.m4 2009-10-28 18:47:18.000000000 +0100
+@@ -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 -durN strace-4.5.19.orig/configure.ac strace-4.5.19/configure.ac
+--- strace-4.5.19.orig/configure.ac 2009-10-12 21:54:43.000000000 +0200
++++ strace-4.5.19/configure.ac 2009-10-28 18:47:18.000000000 +0100
+@@ -187,6 +187,7 @@
+ struct stat.st_level,
+ struct stat.st_rdev])
+ AC_STAT64
++AC_STATFS64
+
+ AC_TYPE_SIGNAL
+ AC_TYPE_UID_T
+diff -durN strace-4.5.19.orig/file.c strace-4.5.19/file.c
+--- strace-4.5.19.orig/file.c 2009-10-21 15:44:04.000000000 +0200
++++ strace-4.5.19/file.c 2009-10-28 18:47:18.000000000 +0100
+@@ -1688,7 +1688,7 @@
+ return 0;
+ }
+
+-#ifdef LINUX
++#ifdef HAVE_STATFS64
+ static void
+ printstatfs64(struct tcb *tcp, long addr)
+ {
diff --git a/patches/strace/4.5.19/140-undef-CTL_PROC.patch b/patches/strace/4.5.19/140-undef-CTL_PROC.patch
new file mode 100644
index 0000000..8284335
--- /dev/null
+++ b/patches/strace/4.5.19/140-undef-CTL_PROC.patch
@@ -0,0 +1,13 @@
+diff -durN strace-4.5.19.orig/system.c strace-4.5.19/system.c
+--- strace-4.5.19.orig/system.c 2009-06-01 11:59:11.000000000 +0200
++++ strace-4.5.19/system.c 2009-10-28 18:47:18.000000000 +0100
+@@ -1654,7 +1654,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.19/150-undef-syscall.patch b/patches/strace/4.5.19/150-undef-syscall.patch
new file mode 100644
index 0000000..7d65e1d
--- /dev/null
+++ b/patches/strace/4.5.19/150-undef-syscall.patch
@@ -0,0 +1,42 @@
+diff -durN strace-4.5.19.orig/linux/syscallent.h strace-4.5.19/linux/syscallent.h
+--- strace-4.5.19.orig/linux/syscallent.h 2009-09-01 21:53:29.000000000 +0200
++++ strace-4.5.19/linux/syscallent.h 2009-10-28 18:47:18.000000000 +0100
+@@ -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 */