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