Robert P. J. DAY says:
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Feb 15 21:18:10 2008 +0000 (2008-02-15)
changeset 428022ca36f85c8
parent 427 fc1c16395864
child 429 2da50549b3d3
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.
config/debug/strace.in
docs/CREDITS
patches/strace/4.5.16/100-strace-autoreconf.patch
patches/strace/4.5.16/150-strace-dont-use-REG_SYSCALL-for-sh.patch
patches/strace/4.5.16/200-strace-fix-arm-bad-syscall.patch
patches/strace/4.5.16/250-strace-fix-disabled-largefile-syscalls.patch
patches/strace/4.5.16/350-strace-statfs64-check.patch
patches/strace/4.5.16/400-strace-superh-update.ac.patch
patches/strace/4.5.16/450-strace-undef-CTL_PROC.patch
patches/strace/4.5.16/500-strace-undef-PACKET_MEMBERSHIP.patch
patches/strace/4.5.16/550-strace-undef-syscall.patch
     1.1 --- a/config/debug/strace.in	Fri Feb 15 21:07:30 2008 +0000
     1.2 +++ b/config/debug/strace.in	Fri Feb 15 21:18:10 2008 +0000
     1.3 @@ -25,6 +25,10 @@
     1.4      bool
     1.5      prompt "4.5.15"
     1.6  
     1.7 +config STRACE_V_4_5_16
     1.8 +    bool
     1.9 +    prompt "4.5.16"
    1.10 +
    1.11  # CT_INSERT_VERSION_ABOVE
    1.12  # Don't remove above line!
    1.13  endchoice
    1.14 @@ -34,6 +38,7 @@
    1.15      default "4.5" if STRACE_V_4_5
    1.16      default "4.5.14" if STRACE_V_4_5_14
    1.17      default "4.5.15" if STRACE_V_4_5_15
    1.18 +    default "4.5.16" if STRACE_V_4_5_16
    1.19  # CT_INSERT_VERSION_STRING_ABOVE
    1.20  # # Don't remove above line!
    1.21  
     2.1 --- a/docs/CREDITS	Fri Feb 15 21:07:30 2008 +0000
     2.2 +++ b/docs/CREDITS	Fri Feb 15 21:18:10 2008 +0000
     2.3 @@ -9,7 +9,7 @@
     2.4  And in order of appearance on the crossgcc ML:
     2.5  
     2.6    Allan CLARK for his investigations on building toolchains on MacOS-X.
     2.7 -    Allan made extensive tests of the first alpha of crosstool-NG-ng on his
     2.8 +    Allan made extensive tests of the first alpha of crosstool-NG on his
     2.9      MacOS-X, and unveiled some bash-2.05 weirdness.
    2.10  
    2.11    Enrico WEIGELT
    2.12 @@ -23,6 +23,7 @@
    2.13      - 'sanitised' patches for binutils-2.17
    2.14      - patches for glibc-2.5
    2.15      - misc patches, typos and eye candy
    2.16 +    - too many to list any more!
    2.17  
    2.18    Al Stone:
    2.19      - initial ia64 support
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/patches/strace/4.5.16/100-strace-autoreconf.patch	Fri Feb 15 21:18:10 2008 +0000
     3.3 @@ -0,0 +1,77 @@
     3.4 +diff -dur strace-4.5.16.orig/configure strace-4.5.16/configure
     3.5 +--- strace-4.5.16.orig/configure	2007-01-11 23:23:33.000000000 +0100
     3.6 ++++ strace-4.5.16/configure	2007-07-14 19:18:43.000000000 +0200
     3.7 +@@ -5808,6 +5777,73 @@
     3.8 +
     3.9 + fi
    3.10 +
    3.11 ++echo "$as_me:$LINENO: checking for statfs64 in sys/(statfs|vfs).h" >&5
    3.12 ++echo $ECHO_N "checking for statfs64 in sys/(statfs|vfs).h... $ECHO_C" >&6
    3.13 ++if test "${ac_cv_type_statfs64+set}" = set; then
    3.14 ++  echo $ECHO_N "(cached) $ECHO_C" >&6
    3.15 ++else
    3.16 ++  cat >conftest.$ac_ext <<_ACEOF
    3.17 ++/* confdefs.h.  */
    3.18 ++_ACEOF
    3.19 ++cat confdefs.h >>conftest.$ac_ext
    3.20 ++cat >>conftest.$ac_ext <<_ACEOF
    3.21 ++/* end confdefs.h.  */
    3.22 ++#ifdef LINUX
    3.23 ++#include <linux/types.h>
    3.24 ++#include <sys/statfs.h>
    3.25 ++#else
    3.26 ++#include <sys/vfs.h>
    3.27 ++#endif
    3.28 ++int
    3.29 ++main ()
    3.30 ++{
    3.31 ++struct statfs64 st;
    3.32 ++  ;
    3.33 ++  return 0;
    3.34 ++}
    3.35 ++_ACEOF
    3.36 ++rm -f conftest.$ac_objext
    3.37 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
    3.38 ++  (eval $ac_compile) 2>conftest.er1
    3.39 ++  ac_status=$?
    3.40 ++  grep -v '^ *+' conftest.er1 >conftest.err
    3.41 ++  rm -f conftest.er1
    3.42 ++  cat conftest.err >&5
    3.43 ++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    3.44 ++  (exit $ac_status); } &&
    3.45 ++	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
    3.46 ++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
    3.47 ++  (eval $ac_try) 2>&5
    3.48 ++  ac_status=$?
    3.49 ++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    3.50 ++  (exit $ac_status); }; } &&
    3.51 ++	 { ac_try='test -s conftest.$ac_objext'
    3.52 ++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
    3.53 ++  (eval $ac_try) 2>&5
    3.54 ++  ac_status=$?
    3.55 ++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    3.56 ++  (exit $ac_status); }; }; then
    3.57 ++  ac_cv_type_statfs64=yes
    3.58 ++else
    3.59 ++  echo "$as_me: failed program was:" >&5
    3.60 ++sed 's/^/| /' conftest.$ac_ext >&5
    3.61 ++
    3.62 ++ac_cv_type_statfs64=no
    3.63 ++fi
    3.64 ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
    3.65 ++fi
    3.66 ++
    3.67 ++echo "$as_me:$LINENO: result: $ac_cv_type_statfs64" >&5
    3.68 ++echo "${ECHO_T}$ac_cv_type_statfs64" >&6
    3.69 ++if test "$ac_cv_type_statfs64" = yes
    3.70 ++then
    3.71 ++
    3.72 ++cat >>confdefs.h <<\_ACEOF
    3.73 ++#define HAVE_STATFS64 1
    3.74 ++_ACEOF
    3.75 ++
    3.76 ++fi
    3.77 ++
    3.78 +
    3.79 + { echo "$as_me:$LINENO: checking return type of signal handlers" >&5
    3.80 + echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; }
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/patches/strace/4.5.16/150-strace-dont-use-REG_SYSCALL-for-sh.patch	Fri Feb 15 21:18:10 2008 +0000
     4.3 @@ -0,0 +1,11 @@
     4.4 +diff -dur strace-4.5.16.orig/process.c strace-4.5.16/process.c
     4.5 +--- strace-4.5.16.orig/process.c	2007-01-11 23:08:38.000000000 +0100
     4.6 ++++ strace-4.5.16/process.c	2007-07-14 19:19:58.000000000 +0200
     4.7 +@@ -2685,7 +2685,6 @@
     4.8 +        { 4*REG_GBR,            "4*REG_GBR"                             },
     4.9 +        { 4*REG_MACH,           "4*REG_MACH"                            },
    4.10 +        { 4*REG_MACL,           "4*REG_MACL"                            },
    4.11 +-       { 4*REG_SYSCALL,        "4*REG_SYSCALL"                         },
    4.12 +        { 4*REG_FPUL,           "4*REG_FPUL"                            },
    4.13 +        { 4*REG_FPREG0,         "4*REG_FPREG0"                          },
    4.14 +        { 4*(REG_FPREG0+1),     "4*REG_FPREG1"                          },
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/patches/strace/4.5.16/200-strace-fix-arm-bad-syscall.patch	Fri Feb 15 21:18:10 2008 +0000
     5.3 @@ -0,0 +1,19 @@
     5.4 +diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c
     5.5 +--- strace-4.5.16.orig/syscall.c	2006-12-21 23:13:33.000000000 +0100
     5.6 ++++ strace-4.5.16/syscall.c	2007-07-14 19:21:44.000000000 +0200
     5.7 +@@ -1045,6 +1045,15 @@
     5.8 + 		/*
     5.9 + 		 * Note: we only deal with only 32-bit CPUs here.
    5.10 + 		 */
    5.11 ++
    5.12 ++		if (!(tcp->flags & TCB_INSYSCALL) &&
    5.13 ++		    (tcp->flags & TCB_WAITEXECVE)) {
    5.14 ++			/* caught a fake syscall from the execve's exit */
    5.15 ++			tcp->flags &= ~TCB_WAITEXECVE;
    5.16 ++			return 0;
    5.17 ++		}
    5.18 ++
    5.19 ++
    5.20 + 		if (regs.ARM_cpsr & 0x20) {
    5.21 + 			/*
    5.22 + 			 * Get the Thumb-mode system call number
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/patches/strace/4.5.16/250-strace-fix-disabled-largefile-syscalls.patch	Fri Feb 15 21:18:10 2008 +0000
     6.3 @@ -0,0 +1,22 @@
     6.4 +diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c
     6.5 +--- strace-4.5.16.orig/syscall.c	2007-07-14 19:21:44.000000000 +0200
     6.6 ++++ strace-4.5.16/syscall.c	2007-07-14 19:22:49.000000000 +0200
     6.7 +@@ -125,6 +125,18 @@
     6.8 + #define TP TRACE_PROCESS
     6.9 + #define TS TRACE_SIGNAL
    6.10 +
    6.11 ++#ifndef HAVE_STATFS64
    6.12 ++/*
    6.13 ++ * Ugly hacks for systems that do not have LFS
    6.14 ++ */
    6.15 ++
    6.16 ++#define sys_truncate64  sys_truncate
    6.17 ++#define sys_ftruncate64 sys_ftruncate
    6.18 ++#define sys_getdents64  sys_getdents
    6.19 ++#define sys_statfs64    sys_statfs
    6.20 ++#define sys_fstatfs64   sys_fstatfs
    6.21 ++#endif
    6.22 ++
    6.23 + static const struct sysent sysent0[] = {
    6.24 + #include "syscallent.h"
    6.25 + };
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/patches/strace/4.5.16/350-strace-statfs64-check.patch	Fri Feb 15 21:18:10 2008 +0000
     7.3 @@ -0,0 +1,53 @@
     7.4 +diff -dur strace-4.5.16.orig/acinclude.m4 strace-4.5.16/acinclude.m4
     7.5 +--- strace-4.5.16.orig/acinclude.m4	2004-04-14 04:21:01.000000000 +0200
     7.6 ++++ strace-4.5.16/acinclude.m4	2007-07-14 19:25:25.000000000 +0200
     7.7 +@@ -210,6 +210,26 @@
     7.8 + fi
     7.9 + ])
    7.10 +
    7.11 ++dnl ### A macro to determine whether statfs64 is defined.
    7.12 ++AC_DEFUN([AC_STATFS64],
    7.13 ++[AC_MSG_CHECKING(for statfs64 in sys/(statfs|vfs).h)
    7.14 ++AC_CACHE_VAL(ac_cv_type_statfs64,
    7.15 ++[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef LINUX
    7.16 ++#include <linux/types.h>
    7.17 ++#include <sys/statfs.h>
    7.18 ++#else
    7.19 ++#include <sys/vfs.h>
    7.20 ++#endif]], [[struct statfs64 st;]])],[ac_cv_type_statfs64=yes],[ac_cv_type_statfs64=no])])
    7.21 ++AC_MSG_RESULT($ac_cv_type_statfs64)
    7.22 ++if test "$ac_cv_type_statfs64" = yes
    7.23 ++then
    7.24 ++	AC_DEFINE([HAVE_STATFS64], 1,
    7.25 ++[Define if statfs64 is available in sys/statfs.h or sys/vfs.h.])
    7.26 ++fi
    7.27 ++])
    7.28 ++
    7.29 ++
    7.30 ++
    7.31 + dnl ### A macro to determine if off_t is a long long
    7.32 + AC_DEFUN([AC_OFF_T_IS_LONG_LONG],
    7.33 + [AC_MSG_CHECKING(for long long off_t)
    7.34 +diff -dur strace-4.5.16.orig/configure.ac strace-4.5.16/configure.ac
    7.35 +--- strace-4.5.16.orig/configure.ac	2007-01-11 12:37:55.000000000 +0100
    7.36 ++++ strace-4.5.16/configure.ac	2007-07-14 19:25:25.000000000 +0200
    7.37 +@@ -169,6 +169,7 @@
    7.38 + 		  struct stat.st_level,
    7.39 + 		  struct stat.st_rdev])
    7.40 + AC_STAT64
    7.41 ++AC_STATFS64
    7.42 +
    7.43 + AC_TYPE_SIGNAL
    7.44 + AC_TYPE_UID_T
    7.45 +diff -dur strace-4.5.16.orig/file.c strace-4.5.16/file.c
    7.46 +--- strace-4.5.16.orig/file.c	2007-01-15 21:25:52.000000000 +0100
    7.47 ++++ strace-4.5.16/file.c	2007-07-14 19:25:25.000000000 +0200
    7.48 +@@ -1636,7 +1636,7 @@
    7.49 + 	return 0;
    7.50 + }
    7.51 +
    7.52 +-#ifdef LINUX
    7.53 ++#ifdef HAVE_STATFS64
    7.54 + static void
    7.55 + printstatfs64(tcp, addr)
    7.56 + struct tcb *tcp;
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/patches/strace/4.5.16/400-strace-superh-update.ac.patch	Fri Feb 15 21:18:10 2008 +0000
     8.3 @@ -0,0 +1,22 @@
     8.4 +diff -dur strace-4.5.16.orig/configure.ac strace-4.5.16/configure.ac
     8.5 +--- strace-4.5.16.orig/configure.ac	2007-07-14 19:25:25.000000000 +0200
     8.6 ++++ strace-4.5.16/configure.ac	2007-07-14 19:27:35.000000000 +0200
     8.7 +@@ -91,14 +91,14 @@
     8.8 + 	arch=hppa
     8.9 + 	AC_DEFINE([HPPA], 1, [Define for the HPPA architecture.])
    8.10 + 	;;
    8.11 +-sh)
    8.12 +-	arch=sh
    8.13 +-	AC_DEFINE([SH], 1, [Define for the SH architecture.])
    8.14 +-	;;
    8.15 + sh64)
    8.16 + 	arch=sh64
    8.17 + 	AC_DEFINE([SH64], 1, [Define for the SH64 architecture.])
    8.18 + 	;;
    8.19 ++sh*)
    8.20 ++	arch=sh
    8.21 ++	AC_DEFINE([SH], 1, [Define for the SH architecture.])
    8.22 ++	;;
    8.23 + x86?64*)
    8.24 + 	arch=x86_64
    8.25 + 	AC_DEFINE([X86_64], 1, [Define for the AMD x86-64 architecture.])
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/patches/strace/4.5.16/450-strace-undef-CTL_PROC.patch	Fri Feb 15 21:18:10 2008 +0000
     9.3 @@ -0,0 +1,13 @@
     9.4 +diff -dur strace-4.5.16.orig/system.c strace-4.5.16/system.c
     9.5 +--- strace-4.5.16.orig/system.c	2007-01-17 00:22:36.000000000 +0100
     9.6 ++++ strace-4.5.16/system.c	2007-07-14 19:28:41.000000000 +0200
     9.7 +@@ -1612,7 +1612,9 @@
     9.8 + 	{ CTL_KERN, "CTL_KERN" },
     9.9 + 	{ CTL_VM, "CTL_VM" },
    9.10 + 	{ CTL_NET, "CTL_NET" },
    9.11 ++#ifdef CTL_PROC
    9.12 + 	{ CTL_PROC, "CTL_PROC" },
    9.13 ++#endif
    9.14 + 	{ CTL_FS, "CTL_FS" },
    9.15 + 	{ CTL_DEBUG, "CTL_DEBUG" },
    9.16 + 	{ CTL_DEV, "CTL_DEV" },
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/patches/strace/4.5.16/500-strace-undef-PACKET_MEMBERSHIP.patch	Fri Feb 15 21:18:10 2008 +0000
    10.3 @@ -0,0 +1,16 @@
    10.4 +diff -dur strace-4.5.16.orig/net.c strace-4.5.16/net.c
    10.5 +--- strace-4.5.16.orig/net.c	2006-12-13 20:57:23.000000000 +0100
    10.6 ++++ strace-4.5.16/net.c	2007-07-14 19:29:36.000000000 +0200
    10.7 +@@ -800,8 +800,12 @@
    10.8 +
    10.9 + #ifdef SOL_PACKET
   10.10 + static const struct xlat sockpacketoptions[] = {
   10.11 ++#if defined(PACKET_ADD_MEMBERSHIP)
   10.12 + 	{ PACKET_ADD_MEMBERSHIP,	"PACKET_ADD_MEMBERSHIP"	},
   10.13 ++#endif
   10.14 ++#if defined(PACKET_DROP_MEMBERSHIP)
   10.15 + 	{ PACKET_DROP_MEMBERSHIP,	"PACKET_DROP_MEMBERSHIP"},
   10.16 ++#endif
   10.17 + #if defined(PACKET_RECV_OUTPUT)
   10.18 + 	{ PACKET_RECV_OUTPUT,		"PACKET_RECV_OUTPUT"	},
   10.19 + #endif
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/patches/strace/4.5.16/550-strace-undef-syscall.patch	Fri Feb 15 21:18:10 2008 +0000
    11.3 @@ -0,0 +1,64 @@
    11.4 +diff -dur strace-4.5.16.orig/linux/syscallent.h strace-4.5.16/linux/syscallent.h
    11.5 +--- strace-4.5.16.orig/linux/syscallent.h	2006-10-16 03:17:52.000000000 +0200
    11.6 ++++ strace-4.5.16/linux/syscallent.h	2007-07-14 19:30:16.000000000 +0200
    11.7 +@@ -130,7 +130,11 @@
    11.8 + 	{ 2,	TF,	sys_statfs,		"statfs"	}, /* 99 */
    11.9 + 	{ 2,	TD,	sys_fstatfs,		"fstatfs"	}, /* 100 */
   11.10 + 	{ 3,	0,	sys_ioperm,		"ioperm"	}, /* 101 */
   11.11 +-	{ 2,	TD,	sys_socketcall,		"socketcall", SYS_socketcall }, /* 102 */
   11.12 ++	{ 2,	TD,	sys_socketcall,		"socketcall"
   11.13 ++#ifdef __NR_socketcall
   11.14 ++	    , SYS_socketcall
   11.15 ++#endif
   11.16 ++								}, /* 102 */
   11.17 + 	{ 3,	0,	sys_syslog,		"syslog"	}, /* 103 */
   11.18 + 	{ 3,	0,	sys_setitimer,		"setitimer"	}, /* 104 */
   11.19 + 	{ 2,	0,	sys_getitimer,		"getitimer"	}, /* 105 */
   11.20 +@@ -145,7 +149,11 @@
   11.21 + 	{ 4,	TP,	sys_wait4,		"wait4", SYS_wait4 }, /* 114 */
   11.22 + 	{ 1,	0,	sys_swapoff,		"swapoff"	}, /* 115 */
   11.23 + 	{ 1,	0,	sys_sysinfo,		"sysinfo"	}, /* 116 */
   11.24 +-	{ 6,	0,	sys_ipc,		"ipc", SYS_ipc }, /* 117 */
   11.25 ++	{ 6,	0,	sys_ipc,		"ipc"
   11.26 ++#ifdef __NR_ipc
   11.27 ++	    , SYS_ipc
   11.28 ++#endif
   11.29 ++								}, /* 117 */
   11.30 + 	{ 1,	TD,	sys_fsync,		"fsync"		}, /* 118 */
   11.31 + 	{ 1,	TS,	sys_sigreturn,		"sigreturn"	}, /* 119 */
   11.32 + 	{ 5,	TP,	sys_clone,		"clone", SYS_clone }, /* 120 */
   11.33 +@@ -282,7 +290,11 @@
   11.34 + 	{ 3,	0,	sys_io_cancel,		"io_cancel"	}, /* 249 */
   11.35 + 	{ 5,	0,	sys_fadvise64,		"fadvise64"	}, /* 250 */
   11.36 + 	{ 5,	0,	printargs,		"SYS_251"	}, /* 251 */
   11.37 +-	{ 1,	TP,	sys_exit,		"exit_group", __NR_exit_group }, /* 252 */
   11.38 ++	{ 1,	TP,	sys_exit,		"exit_group"
   11.39 ++#ifdef __NR_exit_group
   11.40 ++	    , __NR_exit_group
   11.41 ++#endif
   11.42 ++								}, /* 252 */
   11.43 + 	{ 4,	0,	printargs,		"lookup_dcookie"}, /* 253 */
   11.44 + 	{ 1,	0,	sys_epoll_create,	"epoll_create"	}, /* 254 */
   11.45 + 	{ 4,	TD,	sys_epoll_ctl,		"epoll_ctl"	}, /* 255 */
   11.46 +diff -dur strace-4.5.16.orig/syscall.c strace-4.5.16/syscall.c
   11.47 +--- strace-4.5.16.orig/syscall.c	2007-07-14 19:22:49.000000000 +0200
   11.48 ++++ strace-4.5.16/syscall.c	2007-07-14 19:30:16.000000000 +0200
   11.49 +@@ -2383,14 +2383,18 @@
   11.50 + 	switch (known_scno(tcp)) {
   11.51 + #ifdef LINUX
   11.52 + #if !defined (ALPHA) && !defined(SPARC) && !defined(SPARC64) && !defined(MIPS) && !defined(HPPA)
   11.53 ++#ifdef __NR_socketcall
   11.54 + 	case SYS_socketcall:
   11.55 + 		decode_subcall(tcp, SYS_socket_subcall,
   11.56 + 			SYS_socket_nsubcalls, deref_style);
   11.57 + 		break;
   11.58 ++#endif
   11.59 ++#ifdef __NR_ipc
   11.60 + 	case SYS_ipc:
   11.61 + 		decode_subcall(tcp, SYS_ipc_subcall,
   11.62 + 			SYS_ipc_nsubcalls, shift_style);
   11.63 + 		break;
   11.64 ++#endif
   11.65 + #endif /* !ALPHA && !MIPS && !SPARC && !SPARC64 && !HPPA */
   11.66 + #if defined (SPARC) || defined (SPARC64)
   11.67 + 	case SYS_socketcall: