patches/strace/4.5.19/100-autoreconf.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
     1 diff -durN strace-4.5.19.orig/configure strace-4.5.19/configure
     2 --- strace-4.5.19.orig/configure	2009-10-21 19:41:11.000000000 +0200
     3 +++ strace-4.5.19/configure	2009-10-28 18:47:18.000000000 +0100
     4 @@ -5773,6 +5773,73 @@
     5  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     6  /* end confdefs.h.  */
     7  
     8 +echo "$as_me:$LINENO: checking for statfs64 in sys/(statfs|vfs).h" >&5
     9 +echo $ECHO_N "checking for statfs64 in sys/(statfs|vfs).h... $ECHO_C" >&6
    10 +if test "${ac_cv_type_statfs64+set}" = set; then
    11 +  echo $ECHO_N "(cached) $ECHO_C" >&6
    12 +else
    13 +  cat >conftest.$ac_ext <<_ACEOF
    14 +/* confdefs.h.  */
    15 +_ACEOF
    16 +cat confdefs.h >>conftest.$ac_ext
    17 +cat >>conftest.$ac_ext <<_ACEOF
    18 +/* end confdefs.h.  */
    19 +#ifdef LINUX
    20 +#include <linux/types.h>
    21 +#include <sys/statfs.h>
    22 +#else
    23 +#include <sys/vfs.h>
    24 +#endif
    25 +int
    26 +main ()
    27 +{
    28 +struct statfs64 st;
    29 +  ;
    30 +  return 0;
    31 +}
    32 +_ACEOF
    33 +rm -f conftest.$ac_objext
    34 +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
    35 +  (eval $ac_compile) 2>conftest.er1
    36 +  ac_status=$?
    37 +  grep -v '^ *+' conftest.er1 >conftest.err
    38 +  rm -f conftest.er1
    39 +  cat conftest.err >&5
    40 +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    41 +  (exit $ac_status); } &&
    42 +	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
    43 +  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
    44 +  (eval $ac_try) 2>&5
    45 +  ac_status=$?
    46 +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    47 +  (exit $ac_status); }; } &&
    48 +	 { ac_try='test -s conftest.$ac_objext'
    49 +  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
    50 +  (eval $ac_try) 2>&5
    51 +  ac_status=$?
    52 +  echo "$as_me:$LINENO: \$? = $ac_status" >&5
    53 +  (exit $ac_status); }; }; then
    54 +  ac_cv_type_statfs64=yes
    55 +else
    56 +  echo "$as_me: failed program was:" >&5
    57 +sed 's/^/| /' conftest.$ac_ext >&5
    58 +
    59 +ac_cv_type_statfs64=no
    60 +fi
    61 +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
    62 +fi
    63 +
    64 +echo "$as_me:$LINENO: result: $ac_cv_type_statfs64" >&5
    65 +echo "${ECHO_T}$ac_cv_type_statfs64" >&6
    66 +if test "$ac_cv_type_statfs64" = yes
    67 +then
    68 +
    69 +cat >>confdefs.h <<\_ACEOF
    70 +#define HAVE_STATFS64 1
    71 +_ACEOF
    72 +
    73 +fi
    74 +
    75  
    76  int
    77  main ()