From df6440c35e37f95f61ca069d9ec4a93758bb7bce Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Mon, 20 Oct 2008 20:09:14 +0000 Subject: Add strace 4.5.18: - propagated the 4.5.16 patch set - EXPERIMENTAL, as it does not build on at least ARM /trunk/patches/strace/4.5.18/160-undef-syscall.patch | 22 0 22 0 ---------------------- /trunk/config/debug/strace.in | 6 6 0 0 ++++++ 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/config/debug/strace.in b/config/debug/strace.in index 49be38c..566df18 100644 --- a/config/debug/strace.in +++ b/config/debug/strace.in @@ -24,6 +24,11 @@ config STRACE_V_4_5_16 bool prompt "4.5.16" +config STRACE_V_4_5_18 + bool + prompt "4.5.18 (EXPERIMENTAL)" + depends on EXPERIMENTAL + # CT_INSERT_VERSION_ABOVE # Don't remove above line! endchoice @@ -34,5 +39,6 @@ config STRACE_VERSION default "4.5.14" if STRACE_V_4_5_14 default "4.5.15" if STRACE_V_4_5_15 default "4.5.16" if STRACE_V_4_5_16 + default "4.5.18" if STRACE_V_4_5_18 # CT_INSERT_VERSION_STRING_ABOVE # # Don't remove above line! diff --git a/patches/strace/4.5.18/100-autoreconf.patch b/patches/strace/4.5.18/100-autoreconf.patch new file mode 100644 index 0000000..666ef43 --- /dev/null +++ b/patches/strace/4.5.18/100-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 ++#include ++#else ++#include ++#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.18/110-dont-use-REG_SYSCALL-for-sh.patch b/patches/strace/4.5.18/110-dont-use-REG_SYSCALL-for-sh.patch new file mode 100644 index 0000000..ebbf69a --- /dev/null +++ b/patches/strace/4.5.18/110-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.18/120-fix-arm-bad-syscall.patch b/patches/strace/4.5.18/120-fix-arm-bad-syscall.patch new file mode 100644 index 0000000..d31b9da --- /dev/null +++ b/patches/strace/4.5.18/120-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.18/130-fix-disabled-largefile-syscalls.patch b/patches/strace/4.5.18/130-fix-disabled-largefile-syscalls.patch new file mode 100644 index 0000000..2f47dc9 --- /dev/null +++ b/patches/strace/4.5.18/130-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.18/140-statfs64-check.patch b/patches/strace/4.5.18/140-statfs64-check.patch new file mode 100644 index 0000000..758966b --- /dev/null +++ b/patches/strace/4.5.18/140-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 ++#include ++#else ++#include ++#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.18/150-undef-CTL_PROC.patch b/patches/strace/4.5.18/150-undef-CTL_PROC.patch new file mode 100644 index 0000000..9bbd78c --- /dev/null +++ b/patches/strace/4.5.18/150-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.18/160-undef-syscall.patch b/patches/strace/4.5.18/160-undef-syscall.patch new file mode 100644 index 0000000..c7dcb07 --- /dev/null +++ b/patches/strace/4.5.18/160-undef-syscall.patch @@ -0,0 +1,42 @@ +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 */ -- cgit v0.10.2-6-g49f6