debug/strace: add latest version, unmarkprevious EXPERIMENTAL
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Oct 28 19:00:34 2009 +0100 (2009-10-28)
changeset 1613c776557f7aac
parent 1612 4bed2de40336
child 1614 3f76cdbceb6e
debug/strace: add latest version, unmarkprevious EXPERIMENTAL

Also propagate the patchset from 4.5.18 to 4.5.19.
config/debug/strace.in
patches/strace/4.5.19/100-autoreconf.patch
patches/strace/4.5.19/110-fix-arm-bad-syscall.patch
patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch
patches/strace/4.5.19/130-statfs64-check.patch
patches/strace/4.5.19/140-undef-CTL_PROC.patch
patches/strace/4.5.19/150-undef-syscall.patch
     1.1 --- a/config/debug/strace.in	Wed Oct 28 18:34:49 2009 +0100
     1.2 +++ b/config/debug/strace.in	Wed Oct 28 19:00:34 2009 +0100
     1.3 @@ -8,10 +8,14 @@
     1.4  # Don't remove next line
     1.5  # CT_INSERT_VERSION_BELOW
     1.6  
     1.7 +config STRACE_V_4_5_19
     1.8 +    bool
     1.9 +    prompt "4.5.19 (EXPERIMENTAL)"
    1.10 +    depends on EXPERIMENTAL
    1.11 +
    1.12  config STRACE_V_4_5_18
    1.13      bool
    1.14 -    prompt "4.5.18 (EXPERIMENTAL)"
    1.15 -    depends on EXPERIMENTAL
    1.16 +    prompt "4.5.18"
    1.17  
    1.18  config STRACE_V_4_5_17
    1.19      bool
    1.20 @@ -31,6 +35,7 @@
    1.21      string
    1.22  # Don't remove next line
    1.23  # CT_INSERT_VERSION_STRING_BELOW
    1.24 +    default "4.5.19" if STRACE_V_4_5_19
    1.25      default "4.5.18" if STRACE_V_4_5_18
    1.26      default "4.5.17" if STRACE_V_4_5_17
    1.27      default "4.5.16" if STRACE_V_4_5_16
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/patches/strace/4.5.19/100-autoreconf.patch	Wed Oct 28 19:00:34 2009 +0100
     2.3 @@ -0,0 +1,77 @@
     2.4 +diff -durN strace-4.5.19.orig/configure strace-4.5.19/configure
     2.5 +--- strace-4.5.19.orig/configure	2009-10-21 19:41:11.000000000 +0200
     2.6 ++++ strace-4.5.19/configure	2009-10-28 18:47:18.000000000 +0100
     2.7 +@@ -5773,6 +5773,73 @@
     2.8 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     2.9 + /* end confdefs.h.  */
    2.10 + 
    2.11 ++echo "$as_me:$LINENO: checking for statfs64 in sys/(statfs|vfs).h" >&5
    2.12 ++echo $ECHO_N "checking for statfs64 in sys/(statfs|vfs).h... $ECHO_C" >&6
    2.13 ++if test "${ac_cv_type_statfs64+set}" = set; then
    2.14 ++  echo $ECHO_N "(cached) $ECHO_C" >&6
    2.15 ++else
    2.16 ++  cat >conftest.$ac_ext <<_ACEOF
    2.17 ++/* confdefs.h.  */
    2.18 ++_ACEOF
    2.19 ++cat confdefs.h >>conftest.$ac_ext
    2.20 ++cat >>conftest.$ac_ext <<_ACEOF
    2.21 ++/* end confdefs.h.  */
    2.22 ++#ifdef LINUX
    2.23 ++#include <linux/types.h>
    2.24 ++#include <sys/statfs.h>
    2.25 ++#else
    2.26 ++#include <sys/vfs.h>
    2.27 ++#endif
    2.28 ++int
    2.29 ++main ()
    2.30 ++{
    2.31 ++struct statfs64 st;
    2.32 ++  ;
    2.33 ++  return 0;
    2.34 ++}
    2.35 ++_ACEOF
    2.36 ++rm -f conftest.$ac_objext
    2.37 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
    2.38 ++  (eval $ac_compile) 2>conftest.er1
    2.39 ++  ac_status=$?
    2.40 ++  grep -v '^ *+' conftest.er1 >conftest.err
    2.41 ++  rm -f conftest.er1
    2.42 ++  cat conftest.err >&5
    2.43 ++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    2.44 ++  (exit $ac_status); } &&
    2.45 ++	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
    2.46 ++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
    2.47 ++  (eval $ac_try) 2>&5
    2.48 ++  ac_status=$?
    2.49 ++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    2.50 ++  (exit $ac_status); }; } &&
    2.51 ++	 { ac_try='test -s conftest.$ac_objext'
    2.52 ++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
    2.53 ++  (eval $ac_try) 2>&5
    2.54 ++  ac_status=$?
    2.55 ++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    2.56 ++  (exit $ac_status); }; }; then
    2.57 ++  ac_cv_type_statfs64=yes
    2.58 ++else
    2.59 ++  echo "$as_me: failed program was:" >&5
    2.60 ++sed 's/^/| /' conftest.$ac_ext >&5
    2.61 ++
    2.62 ++ac_cv_type_statfs64=no
    2.63 ++fi
    2.64 ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
    2.65 ++fi
    2.66 ++
    2.67 ++echo "$as_me:$LINENO: result: $ac_cv_type_statfs64" >&5
    2.68 ++echo "${ECHO_T}$ac_cv_type_statfs64" >&6
    2.69 ++if test "$ac_cv_type_statfs64" = yes
    2.70 ++then
    2.71 ++
    2.72 ++cat >>confdefs.h <<\_ACEOF
    2.73 ++#define HAVE_STATFS64 1
    2.74 ++_ACEOF
    2.75 ++
    2.76 ++fi
    2.77 ++
    2.78 + 
    2.79 + int
    2.80 + main ()
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/patches/strace/4.5.19/110-fix-arm-bad-syscall.patch	Wed Oct 28 19:00:34 2009 +0100
     3.3 @@ -0,0 +1,19 @@
     3.4 +diff -durN strace-4.5.19.orig/syscall.c strace-4.5.19/syscall.c
     3.5 +--- strace-4.5.19.orig/syscall.c	2009-10-12 21:54:21.000000000 +0200
     3.6 ++++ strace-4.5.19/syscall.c	2009-10-28 18:47:18.000000000 +0100
     3.7 +@@ -1022,6 +1022,15 @@
     3.8 + 		/*
     3.9 + 		 * Note: we only deal with only 32-bit CPUs here.
    3.10 + 		 */
    3.11 ++
    3.12 ++		if (!(tcp->flags & TCB_INSYSCALL) &&
    3.13 ++		    (tcp->flags & TCB_WAITEXECVE)) {
    3.14 ++			/* caught a fake syscall from the execve's exit */
    3.15 ++			tcp->flags &= ~TCB_WAITEXECVE;
    3.16 ++			return 0;
    3.17 ++		}
    3.18 ++
    3.19 ++
    3.20 + 		if (regs.ARM_cpsr & 0x20) {
    3.21 + 			/*
    3.22 + 			 * Get the Thumb-mode system call number
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch	Wed Oct 28 19:00:34 2009 +0100
     4.3 @@ -0,0 +1,22 @@
     4.4 +diff -durN strace-4.5.19.orig/syscall.c strace-4.5.19/syscall.c
     4.5 +--- strace-4.5.19.orig/syscall.c	2009-10-28 18:47:18.000000000 +0100
     4.6 ++++ strace-4.5.19/syscall.c	2009-10-28 18:47:18.000000000 +0100
     4.7 +@@ -110,6 +110,18 @@
     4.8 + #define TP TRACE_PROCESS
     4.9 + #define TS TRACE_SIGNAL
    4.10 + 
    4.11 ++#ifndef HAVE_STATFS64
    4.12 ++/*
    4.13 ++ * Ugly hacks for systems that do not have LFS
    4.14 ++ */
    4.15 ++
    4.16 ++#define sys_truncate64  sys_truncate
    4.17 ++#define sys_ftruncate64 sys_ftruncate
    4.18 ++#define sys_getdents64  sys_getdents
    4.19 ++#define sys_statfs64    sys_statfs
    4.20 ++#define sys_fstatfs64   sys_fstatfs
    4.21 ++#endif
    4.22 ++
    4.23 + static const struct sysent sysent0[] = {
    4.24 + #include "syscallent.h"
    4.25 + };
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/patches/strace/4.5.19/130-statfs64-check.patch	Wed Oct 28 19:00:34 2009 +0100
     5.3 @@ -0,0 +1,53 @@
     5.4 +diff -durN strace-4.5.19.orig/acinclude.m4 strace-4.5.19/acinclude.m4
     5.5 +--- strace-4.5.19.orig/acinclude.m4	2004-04-14 04:45:53.000000000 +0200
     5.6 ++++ strace-4.5.19/acinclude.m4	2009-10-28 18:47:18.000000000 +0100
     5.7 +@@ -210,6 +210,26 @@
     5.8 + fi
     5.9 + ])
    5.10 + 
    5.11 ++dnl ### A macro to determine whether statfs64 is defined.
    5.12 ++AC_DEFUN([AC_STATFS64],
    5.13 ++[AC_MSG_CHECKING(for statfs64 in sys/(statfs|vfs).h)
    5.14 ++AC_CACHE_VAL(ac_cv_type_statfs64,
    5.15 ++[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef LINUX
    5.16 ++#include <linux/types.h>
    5.17 ++#include <sys/statfs.h>
    5.18 ++#else
    5.19 ++#include <sys/vfs.h>
    5.20 ++#endif]], [[struct statfs64 st;]])],[ac_cv_type_statfs64=yes],[ac_cv_type_statfs64=no])])
    5.21 ++AC_MSG_RESULT($ac_cv_type_statfs64)
    5.22 ++if test "$ac_cv_type_statfs64" = yes
    5.23 ++then
    5.24 ++	AC_DEFINE([HAVE_STATFS64], 1,
    5.25 ++[Define if statfs64 is available in sys/statfs.h or sys/vfs.h.])
    5.26 ++fi
    5.27 ++])
    5.28 ++
    5.29 ++
    5.30 ++
    5.31 + dnl ### A macro to determine if off_t is a long long
    5.32 + AC_DEFUN([AC_OFF_T_IS_LONG_LONG],
    5.33 + [AC_MSG_CHECKING(for long long off_t)
    5.34 +diff -durN strace-4.5.19.orig/configure.ac strace-4.5.19/configure.ac
    5.35 +--- strace-4.5.19.orig/configure.ac	2009-10-12 21:54:43.000000000 +0200
    5.36 ++++ strace-4.5.19/configure.ac	2009-10-28 18:47:18.000000000 +0100
    5.37 +@@ -187,6 +187,7 @@
    5.38 + 		  struct stat.st_level,
    5.39 + 		  struct stat.st_rdev])
    5.40 + AC_STAT64
    5.41 ++AC_STATFS64
    5.42 + 
    5.43 + AC_TYPE_SIGNAL
    5.44 + AC_TYPE_UID_T
    5.45 +diff -durN strace-4.5.19.orig/file.c strace-4.5.19/file.c
    5.46 +--- strace-4.5.19.orig/file.c	2009-10-21 15:44:04.000000000 +0200
    5.47 ++++ strace-4.5.19/file.c	2009-10-28 18:47:18.000000000 +0100
    5.48 +@@ -1688,7 +1688,7 @@
    5.49 + 	return 0;
    5.50 + }
    5.51 + 
    5.52 +-#ifdef LINUX
    5.53 ++#ifdef HAVE_STATFS64
    5.54 + static void
    5.55 + printstatfs64(struct tcb *tcp, long addr)
    5.56 + {
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/patches/strace/4.5.19/140-undef-CTL_PROC.patch	Wed Oct 28 19:00:34 2009 +0100
     6.3 @@ -0,0 +1,13 @@
     6.4 +diff -durN strace-4.5.19.orig/system.c strace-4.5.19/system.c
     6.5 +--- strace-4.5.19.orig/system.c	2009-06-01 11:59:11.000000000 +0200
     6.6 ++++ strace-4.5.19/system.c	2009-10-28 18:47:18.000000000 +0100
     6.7 +@@ -1654,7 +1654,9 @@
     6.8 + 	{ CTL_KERN, "CTL_KERN" },
     6.9 + 	{ CTL_VM, "CTL_VM" },
    6.10 + 	{ CTL_NET, "CTL_NET" },
    6.11 ++#ifdef CTL_PROC
    6.12 + 	{ CTL_PROC, "CTL_PROC" },
    6.13 ++#endif
    6.14 + 	{ CTL_FS, "CTL_FS" },
    6.15 + 	{ CTL_DEBUG, "CTL_DEBUG" },
    6.16 + 	{ CTL_DEV, "CTL_DEV" },
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/patches/strace/4.5.19/150-undef-syscall.patch	Wed Oct 28 19:00:34 2009 +0100
     7.3 @@ -0,0 +1,42 @@
     7.4 +diff -durN strace-4.5.19.orig/linux/syscallent.h strace-4.5.19/linux/syscallent.h
     7.5 +--- strace-4.5.19.orig/linux/syscallent.h	2009-09-01 21:53:29.000000000 +0200
     7.6 ++++ strace-4.5.19/linux/syscallent.h	2009-10-28 18:47:18.000000000 +0100
     7.7 +@@ -130,7 +130,11 @@
     7.8 + 	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
     7.9 + 	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
    7.10 + 	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
    7.11 +-	{ 2,	TD,	sys_socketcall,		"socketcall", SYS_socketcall }, /* 102 */
    7.12 ++	{ 2,	TD,	sys_socketcall,		"socketcall"
    7.13 ++#ifdef __NR_socketcall
    7.14 ++	    , SYS_socketcall
    7.15 ++#endif
    7.16 ++								}, /* 102 */
    7.17 + 	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
    7.18 + 	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
    7.19 + 	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
    7.20 +@@ -145,7 +149,11 @@
    7.21 + 	{ 4,	TP,	sys_wait4,		"wait4", SYS_wait4 }, /* 114 */
    7.22 + 	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
    7.23 + 	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
    7.24 +-	{ 6,	0,	sys_ipc,		"ipc", SYS_ipc }, /* 117 */
    7.25 ++	{ 6,	0,	sys_ipc,		"ipc"
    7.26 ++#ifdef __NR_ipc
    7.27 ++	    , SYS_ipc
    7.28 ++#endif
    7.29 ++								}, /* 117 */
    7.30 + 	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
    7.31 + 	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
    7.32 + 	{ 5,	TP,	sys_clone,		"clone", SYS_clone }, /* 120 */
    7.33 +@@ -282,7 +290,11 @@
    7.34 + 	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 249 */
    7.35 + 	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 250 */
    7.36 + 	{ 5,	0,	printargs,		"SYS_251"	}, /* 251 */
    7.37 +-	{ 1,	TP,	sys_exit,		"exit_group", __NR_exit_group }, /* 252 */
    7.38 ++	{ 1,	TP,	sys_exit,		"exit_group"
    7.39 ++#ifdef __NR_exit_group
    7.40 ++	    , __NR_exit_group
    7.41 ++#endif
    7.42 ++								}, /* 252 */
    7.43 + 	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 253 */
    7.44 + 	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 254 */
    7.45 + 	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 255 */