patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch
author Joachim Nilsson <jocke@vmlinux.org>
Fri Jan 01 12:17:39 2010 +0100 (2010-01-01)
changeset 1671 08a5129e6eb0
permissions -rw-r--r--
debug/strace: fix strace 4.5.19 to properly build with latest Linux kernels

Here's a couple of patches to get strace 4.5.19 to configure and build
properly with the latest kernel headers. Not pretty, but hopefully
enough while we wait for 4.5.20 to be released.

With the current strace-4.5.19 patches I failed to get the configure
script running even on my host environment. Also, when cross building
the configure script needs to look for the proper system headers to be
able to properly set HAVE_LINUX_NETLINK_H. Otherwise you get:

[EXTRA] Building strace
[ERROR] /home/jocke/x-tools/targets/src/strace-4.5.19/net.c:976:
error: field 'nl' has incomplete type
[ERROR] make[2]: *** [net.o] Error 1
[ERROR] make[1]: *** [all] Error 2

The fix was simple, backport a change set from the git[1] tree and run
autoreconf to update the configure script.

[1] - http://strace.git.sourceforge.net/git/gitweb.cgi?p=strace/strace;a=commit;h=f0df31e71a58c6e79ba77c1a9d84b2f38d44bec7
yann@1613
     1
diff -durN strace-4.5.19.orig/syscall.c strace-4.5.19/syscall.c
yann@1613
     2
--- strace-4.5.19.orig/syscall.c	2009-10-28 18:47:18.000000000 +0100
yann@1613
     3
+++ strace-4.5.19/syscall.c	2009-10-28 18:47:18.000000000 +0100
yann@1613
     4
@@ -110,6 +110,18 @@
yann@1613
     5
 #define TP TRACE_PROCESS
yann@1613
     6
 #define TS TRACE_SIGNAL
yann@1613
     7
 
yann@1613
     8
+#ifndef HAVE_STATFS64
yann@1613
     9
+/*
yann@1613
    10
+ * Ugly hacks for systems that do not have LFS
yann@1613
    11
+ */
yann@1613
    12
+
yann@1613
    13
+#define sys_truncate64  sys_truncate
yann@1613
    14
+#define sys_ftruncate64 sys_ftruncate
yann@1613
    15
+#define sys_getdents64  sys_getdents
yann@1613
    16
+#define sys_statfs64    sys_statfs
yann@1613
    17
+#define sys_fstatfs64   sys_fstatfs
yann@1613
    18
+#endif
yann@1613
    19
+
yann@1613
    20
 static const struct sysent sysent0[] = {
yann@1613
    21
 #include "syscallent.h"
yann@1613
    22
 };