diff --git a/config/debug/strace.in b/config/debug/strace.in index 566df186..eae6d016 100644 --- a/config/debug/strace.in +++ b/config/debug/strace.in @@ -24,6 +24,10 @@ config STRACE_V_4_5_16 bool prompt "4.5.16" +config STRACE_V_4_5_17 + bool + prompt "4.5.17" + config STRACE_V_4_5_18 bool prompt "4.5.18 (EXPERIMENTAL)" @@ -39,6 +43,7 @@ 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.17" if STRACE_V_4_5_17 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.17/100-autoreconf.patch b/patches/strace/4.5.17/100-autoreconf.patch new file mode 100644 index 00000000..5228d320 --- /dev/null +++ b/patches/strace/4.5.17/100-autoreconf.patch @@ -0,0 +1,81 @@ +Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/100-autoreconf.patch +-= BEGIN original header =- +diff -dur strace-4.5.16.orig/configure strace-4.5.16/configure +-= END original header =- +diff -durN strace-4.5.17.orig/configure strace-4.5.17/configure +--- strace-4.5.17.orig/configure 2008-07-22 02:43:21.000000000 +0200 ++++ strace-4.5.17/configure 2008-10-24 21:30:13.000000000 +0200 +@@ -5808,6 +5808,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.17/110-dont-use-REG_SYSCALL-for-sh.patch b/patches/strace/4.5.17/110-dont-use-REG_SYSCALL-for-sh.patch new file mode 100644 index 00000000..4310766a --- /dev/null +++ b/patches/strace/4.5.17/110-dont-use-REG_SYSCALL-for-sh.patch @@ -0,0 +1,15 @@ +Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/110-dont-use-REG_SYSCALL-for-sh.patch +-= BEGIN original header =- +diff -dur strace-4.5.16.orig/process.c strace-4.5.16/process.c +-= END original header =- +diff -durN strace-4.5.17.orig/process.c strace-4.5.17/process.c +--- strace-4.5.17.orig/process.c 2008-07-18 04:16:47.000000000 +0200 ++++ strace-4.5.17/process.c 2008-10-24 21:30:13.000000000 +0200 +@@ -2726,7 +2726,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.17/120-fix-arm-bad-syscall.patch b/patches/strace/4.5.17/120-fix-arm-bad-syscall.patch new file mode 100644 index 00000000..a5ecaef8 --- /dev/null +++ b/patches/strace/4.5.17/120-fix-arm-bad-syscall.patch @@ -0,0 +1,23 @@ +Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/120-fix-arm-bad-syscall.patch +-= BEGIN original header =- +diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c +-= END original header =- +diff -durN strace-4.5.17.orig/syscall.c strace-4.5.17/syscall.c +--- strace-4.5.17.orig/syscall.c 2008-05-28 01:18:29.000000000 +0200 ++++ strace-4.5.17/syscall.c 2008-10-24 21:30:13.000000000 +0200 +@@ -1016,6 +1016,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.17/130-fix-disabled-largefile-syscalls.patch b/patches/strace/4.5.17/130-fix-disabled-largefile-syscalls.patch new file mode 100644 index 00000000..ef3808e6 --- /dev/null +++ b/patches/strace/4.5.17/130-fix-disabled-largefile-syscalls.patch @@ -0,0 +1,26 @@ +Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/130-fix-disabled-largefile-syscalls.patch +-= BEGIN original header =- +diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c +-= END original header =- +diff -durN strace-4.5.17.orig/syscall.c strace-4.5.17/syscall.c +--- strace-4.5.17.orig/syscall.c 2008-10-24 21:30:13.000000000 +0200 ++++ strace-4.5.17/syscall.c 2008-10-24 21:30:13.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.17/140-statfs64-check.patch b/patches/strace/4.5.17/140-statfs64-check.patch new file mode 100644 index 00000000..3fa0824c --- /dev/null +++ b/patches/strace/4.5.17/140-statfs64-check.patch @@ -0,0 +1,57 @@ +Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/140-statfs64-check.patch +-= BEGIN original header =- +diff -dur strace-4.5.16.orig/acinclude.m4 strace-4.5.16/acinclude.m4 +-= END original header =- +diff -durN strace-4.5.17.orig/acinclude.m4 strace-4.5.17/acinclude.m4 +--- strace-4.5.17.orig/acinclude.m4 2004-04-14 04:21:01.000000000 +0200 ++++ strace-4.5.17/acinclude.m4 2008-10-24 21:30:13.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 -durN strace-4.5.17.orig/configure.ac strace-4.5.17/configure.ac +--- strace-4.5.17.orig/configure.ac 2008-07-22 02:42:29.000000000 +0200 ++++ strace-4.5.17/configure.ac 2008-10-24 21:30:13.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 -durN strace-4.5.17.orig/file.c strace-4.5.17/file.c +--- strace-4.5.17.orig/file.c 2008-05-20 06:56:18.000000000 +0200 ++++ strace-4.5.17/file.c 2008-10-24 21:30:13.000000000 +0200 +@@ -1703,7 +1703,7 @@ + return 0; + } + +-#ifdef LINUX ++#ifdef HAVE_STATFS64 + static void + printstatfs64(tcp, addr) + struct tcb *tcp; diff --git a/patches/strace/4.5.17/150-undef-CTL_PROC.patch b/patches/strace/4.5.17/150-undef-CTL_PROC.patch new file mode 100644 index 00000000..1ce816c9 --- /dev/null +++ b/patches/strace/4.5.17/150-undef-CTL_PROC.patch @@ -0,0 +1,17 @@ +Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/150-undef-CTL_PROC.patch +-= BEGIN original header =- +diff -dur strace-4.5.16.orig/system.c strace-4.5.16/system.c +-= END original header =- +diff -durN strace-4.5.17.orig/system.c strace-4.5.17/system.c +--- strace-4.5.17.orig/system.c 2007-01-17 00:22:36.000000000 +0100 ++++ strace-4.5.17/system.c 2008-10-24 21:30:13.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.17/160-undef-syscall.patch b/patches/strace/4.5.17/160-undef-syscall.patch new file mode 100644 index 00000000..1d8ebd94 --- /dev/null +++ b/patches/strace/4.5.17/160-undef-syscall.patch @@ -0,0 +1,68 @@ +Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/160-undef-syscall.patch +-= BEGIN original header =- +diff -dur strace-4.5.16.orig/linux/syscallent.h strace-4.5.16/linux/syscallent.h +-= END original header =- +diff -durN strace-4.5.17.orig/linux/syscallent.h strace-4.5.17/linux/syscallent.h +--- strace-4.5.17.orig/linux/syscallent.h 2008-07-18 03:23:49.000000000 +0200 ++++ strace-4.5.17/linux/syscallent.h 2008-10-24 21:30:13.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 -durN strace-4.5.17.orig/syscall.c strace-4.5.17/syscall.c +--- strace-4.5.17.orig/syscall.c 2008-10-24 21:30:13.000000000 +0200 ++++ strace-4.5.17/syscall.c 2008-10-24 21:30:13.000000000 +0200 +@@ -2452,14 +2452,18 @@ + switch (known_scno(tcp)) { + #ifdef LINUX + #if !defined (ALPHA) && !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 || HPPA) */ + #endif /* LINUX */ + #ifdef SVR4 diff --git a/patches/strace/4.5.17/170-arm-syscalls.patch b/patches/strace/4.5.17/170-arm-syscalls.patch new file mode 100644 index 00000000..f3af80dd --- /dev/null +++ b/patches/strace/4.5.17/170-arm-syscalls.patch @@ -0,0 +1,42 @@ +Original patch from gentoo: ../../dev/crosstool-NG/ct-ng.trunk/patches/strace/4.5.17/170-arm-syscalls.patch +-= BEGIN original header =- +Author: Michael Abbott +Date: Wed Oct 22 08:53:42 2008 +0100 + + Syscall patch for ARM + Patch mailed to strace mailing list by Anderson Lizardo, work by + Bruna Moreira, dated 2008-01-25. Patch cleaned up against 4.5.17 release. + +diff --git a/linux/arm/errnoent1.h b/linux/arm/errnoent1.h +new file mode 100644 +index 0000000..a894827 +-= END original header =- +diff -durN b/linux/arm/errnoent1.h b/linux/arm/errnoent1.h +--- b/linux/arm/errnoent1.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/linux/arm/errnoent1.h 2008-10-24 21:30:13.000000000 +0200 +@@ -0,0 +1,2 @@ ++/* Our second set comes from the i386 files. */ ++#include "../errnoent.h" +diff -durN b/linux/arm/ioctlent1.h b/linux/arm/ioctlent1.h +--- b/linux/arm/ioctlent1.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/linux/arm/ioctlent1.h 2008-10-24 21:30:13.000000000 +0200 +@@ -0,0 +1,2 @@ ++/* Our second set comes from the i386 files. */ ++#include "../ioctlent.h" +diff -durN b/linux/arm/signalent1.h b/linux/arm/signalent1.h +--- b/linux/arm/signalent1.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/linux/arm/signalent1.h 2008-10-24 21:30:13.000000000 +0200 +@@ -0,0 +1,2 @@ ++/* Our second set comes from the i386 files. */ ++#include "../signalent.h" +diff -durN b/linux/arm/syscallent1.h b/linux/arm/syscallent1.h +--- b/linux/arm/syscallent1.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/linux/arm/syscallent1.h 2008-10-24 21:30:13.000000000 +0200 +@@ -0,0 +1,7 @@ ++/* ARM specific syscalls */ ++ { 5, 0, printargs, "SYS_0" }, /* 0 */ ++ { 5, 0, printargs, "breakpoint" }, /* 1 */ ++ { 5, 0, printargs, "cacheflush" }, /* 2 */ ++ { 5, 0, printargs, "usr26" }, /* 3 */ ++ { 5, 0, printargs, "usr32" }, /* 4 */ ++ { 5, 0, printargs, "set_tls" }, /* 5 */