patches/strace/4.5.19/170-update-configure.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
jocke@1671
     1
diff -ruN strace-4.5.19.orig/config.h.in strace-4.5.19/config.h.in
jocke@1671
     2
--- strace-4.5.19.orig/config.h.in	2009-10-21 19:41:12.000000000 +0200
jocke@1671
     3
+++ strace-4.5.19/config.h.in	2010-01-01 10:39:36.000000000 +0100
jocke@1671
     4
@@ -161,6 +161,9 @@
jocke@1671
     5
 /* Define if stat64 is available in asm/stat.h. */
jocke@1671
     6
 #undef HAVE_STAT64
jocke@1671
     7
 
jocke@1671
     8
+/* Define if statfs64 is available in sys/statfs.h or sys/vfs.h. */
jocke@1671
     9
+#undef HAVE_STATFS64
jocke@1671
    10
+
jocke@1671
    11
 /* Define to 1 if stdbool.h conforms to C99. */
jocke@1671
    12
 #undef HAVE_STDBOOL_H
jocke@1671
    13
 
jocke@1671
    14
diff -ruN strace-4.5.19.orig/configure strace-4.5.19/configure
jocke@1671
    15
--- strace-4.5.19.orig/configure	2010-01-01 10:38:49.000000000 +0100
jocke@1671
    16
+++ strace-4.5.19/configure	2010-01-01 10:39:36.000000000 +0100
jocke@1671
    17
@@ -5374,6 +5374,44 @@
jocke@1671
    18
 
jocke@1671
    19
 fi
jocke@1671
    20
 
jocke@1671
    21
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for statfs64 in sys/(statfs|vfs).h" >&5
jocke@1671
    22
+$as_echo_n "checking for statfs64 in sys/(statfs|vfs).h... " >&6; }
jocke@1671
    23
+if test "${ac_cv_type_statfs64+set}" = set; then :
jocke@1671
    24
+  $as_echo_n "(cached) " >&6
jocke@1671
    25
+else
jocke@1671
    26
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
jocke@1671
    27
+/* end confdefs.h.  */
jocke@1671
    28
+#ifdef LINUX
jocke@1671
    29
+#include <linux/types.h>
jocke@1671
    30
+#include <sys/statfs.h>
jocke@1671
    31
+#else
jocke@1671
    32
+#include <sys/vfs.h>
jocke@1671
    33
+#endif
jocke@1671
    34
+int
jocke@1671
    35
+main ()
jocke@1671
    36
+{
jocke@1671
    37
+struct statfs64 st;
jocke@1671
    38
+  ;
jocke@1671
    39
+  return 0;
jocke@1671
    40
+}
jocke@1671
    41
+_ACEOF
jocke@1671
    42
+if ac_fn_c_try_compile "$LINENO"; then :
jocke@1671
    43
+  ac_cv_type_statfs64=yes
jocke@1671
    44
+else
jocke@1671
    45
+  ac_cv_type_statfs64=no
jocke@1671
    46
+fi
jocke@1671
    47
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
jocke@1671
    48
+fi
jocke@1671
    49
+
jocke@1671
    50
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_statfs64" >&5
jocke@1671
    51
+$as_echo "$ac_cv_type_statfs64" >&6; }
jocke@1671
    52
+if test "$ac_cv_type_statfs64" = yes
jocke@1671
    53
+then
jocke@1671
    54
+
jocke@1671
    55
+$as_echo "#define HAVE_STATFS64 1" >>confdefs.h
jocke@1671
    56
+
jocke@1671
    57
+fi
jocke@1671
    58
+
jocke@1671
    59
 
jocke@1671
    60
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
jocke@1671
    61
 $as_echo_n "checking return type of signal handlers... " >&6; }
jocke@1671
    62
@@ -5773,73 +5811,6 @@
jocke@1671
    63
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
jocke@1671
    64
 /* end confdefs.h.  */
jocke@1671
    65
 
jocke@1671
    66
-echo "$as_me:$LINENO: checking for statfs64 in sys/(statfs|vfs).h" >&5
jocke@1671
    67
-echo $ECHO_N "checking for statfs64 in sys/(statfs|vfs).h... $ECHO_C" >&6
jocke@1671
    68
-if test "${ac_cv_type_statfs64+set}" = set; then
jocke@1671
    69
-  echo $ECHO_N "(cached) $ECHO_C" >&6
jocke@1671
    70
-else
jocke@1671
    71
-  cat >conftest.$ac_ext <<_ACEOF
jocke@1671
    72
-/* confdefs.h.  */
jocke@1671
    73
-_ACEOF
jocke@1671
    74
-cat confdefs.h >>conftest.$ac_ext
jocke@1671
    75
-cat >>conftest.$ac_ext <<_ACEOF
jocke@1671
    76
-/* end confdefs.h.  */
jocke@1671
    77
-#ifdef LINUX
jocke@1671
    78
-#include <linux/types.h>
jocke@1671
    79
-#include <sys/statfs.h>
jocke@1671
    80
-#else
jocke@1671
    81
-#include <sys/vfs.h>
jocke@1671
    82
-#endif
jocke@1671
    83
-int
jocke@1671
    84
-main ()
jocke@1671
    85
-{
jocke@1671
    86
-struct statfs64 st;
jocke@1671
    87
-  ;
jocke@1671
    88
-  return 0;
jocke@1671
    89
-}
jocke@1671
    90
-_ACEOF
jocke@1671
    91
-rm -f conftest.$ac_objext
jocke@1671
    92
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
jocke@1671
    93
-  (eval $ac_compile) 2>conftest.er1
jocke@1671
    94
-  ac_status=$?
jocke@1671
    95
-  grep -v '^ *+' conftest.er1 >conftest.err
jocke@1671
    96
-  rm -f conftest.er1
jocke@1671
    97
-  cat conftest.err >&5
jocke@1671
    98
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
jocke@1671
    99
-  (exit $ac_status); } &&
jocke@1671
   100
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
jocke@1671
   101
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
jocke@1671
   102
-  (eval $ac_try) 2>&5
jocke@1671
   103
-  ac_status=$?
jocke@1671
   104
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
jocke@1671
   105
-  (exit $ac_status); }; } &&
jocke@1671
   106
-	 { ac_try='test -s conftest.$ac_objext'
jocke@1671
   107
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
jocke@1671
   108
-  (eval $ac_try) 2>&5
jocke@1671
   109
-  ac_status=$?
jocke@1671
   110
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
jocke@1671
   111
-  (exit $ac_status); }; }; then
jocke@1671
   112
-  ac_cv_type_statfs64=yes
jocke@1671
   113
-else
jocke@1671
   114
-  echo "$as_me: failed program was:" >&5
jocke@1671
   115
-sed 's/^/| /' conftest.$ac_ext >&5
jocke@1671
   116
-
jocke@1671
   117
-ac_cv_type_statfs64=no
jocke@1671
   118
-fi
jocke@1671
   119
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
jocke@1671
   120
-fi
jocke@1671
   121
-
jocke@1671
   122
-echo "$as_me:$LINENO: result: $ac_cv_type_statfs64" >&5
jocke@1671
   123
-echo "${ECHO_T}$ac_cv_type_statfs64" >&6
jocke@1671
   124
-if test "$ac_cv_type_statfs64" = yes
jocke@1671
   125
-then
jocke@1671
   126
-
jocke@1671
   127
-cat >>confdefs.h <<\_ACEOF
jocke@1671
   128
-#define HAVE_STATFS64 1
jocke@1671
   129
-_ACEOF
jocke@1671
   130
-
jocke@1671
   131
-fi
jocke@1671
   132
-
jocke@1671
   133
 
jocke@1671
   134
 int
jocke@1671
   135
 main ()
jocke@1671
   136
@@ -5947,7 +5918,7 @@
jocke@1671
   137
 do :
jocke@1671
   138
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
jocke@1671
   139
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <stddef.h>
jocke@1671
   140
-#include <linux/socket.h>
jocke@1671
   141
+#include <sys/socket.h>
jocke@1671
   142
 "
jocke@1671
   143
 eval as_val=\$$as_ac_Header
jocke@1671
   144
    if test "x$as_val" = x""yes; then :
jocke@1671
   145
diff -ruN strace-4.5.19.orig/Makefile.in strace-4.5.19/Makefile.in
jocke@1671
   146
--- strace-4.5.19.orig/Makefile.in	2009-10-21 19:41:14.000000000 +0200
jocke@1671
   147
+++ strace-4.5.19/Makefile.in	2010-01-01 10:39:36.000000000 +0100
jocke@1671
   148
@@ -42,8 +42,9 @@
jocke@1671
   149
 subdir = .
jocke@1671
   150
 DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \
jocke@1671
   151
 	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
jocke@1671
   152
-	$(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS INSTALL \
jocke@1671
   153
-	NEWS TODO config.guess config.sub depcomp install-sh missing
jocke@1671
   154
+	$(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS \
jocke@1671
   155
+	ChangeLog INSTALL NEWS TODO config.guess config.sub depcomp \
jocke@1671
   156
+	install-sh missing
jocke@1671
   157
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
jocke@1671
   158
 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
jocke@1671
   159
 	$(top_srcdir)/configure.ac