strace: upgrade to 4.8, supporting now aarch64, and xtensa
authorChris Zankel <chris@zankel.net>
Sun, 9 Jun 2013 21:35:44 +0000 (14:35 -0700)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 10 Jun 2013 12:03:46 +0000 (14:03 +0200)
Remove 'strace-fix-arm-bad-syscall.patch'. This patch had been integrated
in v4.6 (commit: 9bc6340d2) and was later replaced with a generic solution
in v.7 (commit: 2ce12ed31c2).

Strace still cannot handle non-LFS environments, so a modified version of
strace-fix-disabled-largefile-syscalls.patch remains. The 64-bit syscalls
(sys_truncate64, etc.) are references in the sysent structure but the
functinon definitions are commented out becuase of the missing LFS support.

The workaround for the 'forced lfs mode' doesn't seem to be necessary anymore.

Build tested on arm w and w/o LFS support.

[Peter: arc still not supported]
Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/strace/Config.in
package/strace/strace-fix-arm-bad-syscall.patch [deleted file]
package/strace/strace-fix-disabled-largefile-syscalls.patch
package/strace/strace.mk

index 153bcf69a0180b5aa985173b153747c0418120e3..0959ec535ba6a0acccb3f968ab3b8da26abdf540 100644 (file)
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_STRACE
        bool "strace"
-       depends on !(BR2_xtensa || BR2_aarch64 || BR2_arc)
+       depends on !BR2_arc
        help
          A useful diagnostic, instructional, and debugging tool.
          Allows you to track what system calls a program makes
diff --git a/package/strace/strace-fix-arm-bad-syscall.patch b/package/strace/strace-fix-arm-bad-syscall.patch
deleted file mode 100644 (file)
index 3f3144e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/syscall.c
-+++ b/syscall.c
-@@ -1016,6 +1016,15 @@ struct tcb *tcp;
-               /*
-                * 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
index f6bcf96cf502100e204b07d7981939ba28e33e32..2117a0e407c1d4091f855391c5f4ea832487becd 100644 (file)
@@ -1,8 +1,8 @@
 --- a/syscall.c
 +++ b/syscall.c
 @@ -125,6 +125,18 @@
- #define TP TRACE_PROCESS
- #define TS TRACE_SIGNAL
+ #define NF SYSCALL_NEVER_FAILS
+ #define MA MAX_ARGS
  
 +#ifndef HAVE_STATFS64
 +/*
@@ -16,6 +16,6 @@
 +#define sys_fstatfs64   sys_fstatfs
 +#endif
 +
static const struct sysent sysent0[] = {
const struct_sysent sysent0[] = {
  #include "syscallent.h"
  };
index b172a2005b5c08efbbcc256171b458589bed4207..0dce0967292f2c8bf2bea3d49b44a643b1901c45 100644 (file)
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-STRACE_VERSION = 4.7
+STRACE_VERSION = 4.8
 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz
 STRACE_SITE = http://downloads.sourceforge.net/project/strace/strace/$(STRACE_VERSION)
 STRACE_LICENSE = BSD-3c
@@ -13,13 +13,6 @@ STRACE_LICENSE_FILES = COPYRIGHT
 STRACE_CONF_ENV = ac_cv_header_linux_if_packet_h=yes \
                  ac_cv_header_linux_netlink_h=yes
 
-ifeq ($(BR2_LARGEFILE),y)
-# strace gets confused when lfs mode is forced, so don't
-STRACE_CONF_ENV += \
-       CFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))" \
-       CPPFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))"
-endif
-
 define STRACE_REMOVE_STRACE_GRAPH
        rm -f $(TARGET_DIR)/usr/bin/strace-graph
 endef