From eb0ad87b2a0444ae293979f3a8794a1961e83eb0 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Fri, 15 Feb 2008 21:18:10 +0000 Subject: 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. diff --git a/config/debug/strace.in b/config/debug/strace.in index 7a388c6..234556a 100644 --- a/config/debug/strace.in +++ b/config/debug/strace.in @@ -25,6 +25,10 @@ config STRACE_V_4_5_15 bool prompt "4.5.15" +config STRACE_V_4_5_16 + bool + prompt "4.5.16" + # CT_INSERT_VERSION_ABOVE # Don't remove above line! endchoice @@ -34,6 +38,7 @@ config STRACE_VERSION default "4.5" if STRACE_V_4_5 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 # CT_INSERT_VERSION_STRING_ABOVE # # Don't remove above line! diff --git a/docs/CREDITS b/docs/CREDITS index 18d8ccd..7bdec01 100644 --- a/docs/CREDITS +++ b/docs/CREDITS @@ -9,7 +9,7 @@ I would like to thank these fine people for making crosstool-NG possible: And in order of appearance on the crossgcc ML: Allan CLARK for his investigations on building toolchains on MacOS-X. - Allan made extensive tests of the first alpha of crosstool-NG-ng on his + Allan made extensive tests of the first alpha of crosstool-NG on his MacOS-X, and unveiled some bash-2.05 weirdness. Enrico WEIGELT @@ -23,6 +23,7 @@ And in order of appearance on the crossgcc ML: - 'sanitised' patches for binutils-2.17 - patches for glibc-2.5 - misc patches, typos and eye candy + - too many to list any more! Al Stone: - initial ia64 support diff --git a/patches/strace/4.5.16/100-strace-autoreconf.patch b/patches/strace/4.5.16/100-strace-autoreconf.patch new file mode 100644 index 0000000..666ef43 --- /dev/null +++ b/patches/strace/4.5.16/100-strace-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.16/150-strace-dont-use-REG_SYSCALL-for-sh.patch b/patches/strace/4.5.16/150-strace-dont-use-REG_SYSCALL-for-sh.patch new file mode 100644 index 0000000..ebbf69a --- /dev/null +++ b/patches/strace/4.5.16/150-strace-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.16/200-strace-fix-arm-bad-syscall.patch b/patches/strace/4.5.16/200-strace-fix-arm-bad-syscall.patch new file mode 100644 index 0000000..d31b9da --- /dev/null +++ b/patches/strace/4.5.16/200-strace-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.16/250-strace-fix-disabled-largefile-syscalls.patch b/patches/strace/4.5.16/250-strace-fix-disabled-largefile-syscalls.patch new file mode 100644 index 0000000..2f47dc9 --- /dev/null +++ b/patches/strace/4.5.16/250-strace-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.16/350-strace-statfs64-check.patch b/patches/strace/4.5.16/350-strace-statfs64-check.patch new file mode 100644 index 0000000..758966b --- /dev/null +++ b/patches/strace/4.5.16/350-strace-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.16/400-strace-superh-update.ac.patch b/patches/strace/4.5.16/400-strace-superh-update.ac.patch new file mode 100644 index 0000000..4129315 --- /dev/null +++ b/patches/strace/4.5.16/400-strace-superh-update.ac.patch @@ -0,0 +1,22 @@ +diff -dur strace-4.5.16.orig/configure.ac strace-4.5.16/configure.ac +--- strace-4.5.16.orig/configure.ac 2007-07-14 19:25:25.000000000 +0200 ++++ strace-4.5.16/configure.ac 2007-07-14 19:27:35.000000000 +0200 +@@ -91,14 +91,14 @@ + arch=hppa + AC_DEFINE([HPPA], 1, [Define for the HPPA architecture.]) + ;; +-sh) +- arch=sh +- AC_DEFINE([SH], 1, [Define for the SH architecture.]) +- ;; + sh64) + arch=sh64 + AC_DEFINE([SH64], 1, [Define for the SH64 architecture.]) + ;; ++sh*) ++ arch=sh ++ AC_DEFINE([SH], 1, [Define for the SH architecture.]) ++ ;; + x86?64*) + arch=x86_64 + AC_DEFINE([X86_64], 1, [Define for the AMD x86-64 architecture.]) diff --git a/patches/strace/4.5.16/450-strace-undef-CTL_PROC.patch b/patches/strace/4.5.16/450-strace-undef-CTL_PROC.patch new file mode 100644 index 0000000..9bbd78c --- /dev/null +++ b/patches/strace/4.5.16/450-strace-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.16/500-strace-undef-PACKET_MEMBERSHIP.patch b/patches/strace/4.5.16/500-strace-undef-PACKET_MEMBERSHIP.patch new file mode 100644 index 0000000..3098f80 --- /dev/null +++ b/patches/strace/4.5.16/500-strace-undef-PACKET_MEMBERSHIP.patch @@ -0,0 +1,16 @@ +diff -dur strace-4.5.16.orig/net.c strace-4.5.16/net.c +--- strace-4.5.16.orig/net.c 2006-12-13 20:57:23.000000000 +0100 ++++ strace-4.5.16/net.c 2007-07-14 19:29:36.000000000 +0200 +@@ -800,8 +800,12 @@ + + #ifdef SOL_PACKET + static const struct xlat sockpacketoptions[] = { ++#if defined(PACKET_ADD_MEMBERSHIP) + { PACKET_ADD_MEMBERSHIP, "PACKET_ADD_MEMBERSHIP" }, ++#endif ++#if defined(PACKET_DROP_MEMBERSHIP) + { PACKET_DROP_MEMBERSHIP, "PACKET_DROP_MEMBERSHIP"}, ++#endif + #if defined(PACKET_RECV_OUTPUT) + { PACKET_RECV_OUTPUT, "PACKET_RECV_OUTPUT" }, + #endif diff --git a/patches/strace/4.5.16/550-strace-undef-syscall.patch b/patches/strace/4.5.16/550-strace-undef-syscall.patch new file mode 100644 index 0000000..6194429 --- /dev/null +++ b/patches/strace/4.5.16/550-strace-undef-syscall.patch @@ -0,0 +1,64 @@ +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 */ +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:22:49.000000000 +0200 ++++ strace-4.5.16/syscall.c 2007-07-14 19:30:16.000000000 +0200 +@@ -2383,14 +2383,18 @@ + switch (known_scno(tcp)) { + #ifdef LINUX + #if !defined (ALPHA) && !defined(SPARC) && !defined(SPARC64) && !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 && !SPARC && !SPARC64 && !HPPA */ + #if defined (SPARC) || defined (SPARC64) + case SYS_socketcall: -- cgit v0.10.2-6-g49f6