patches/strace/4.5.19/130-statfs64-check.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Feb 13 21:47:25 2012 +0100 (2012-02-13)
changeset 2883 cea814c9932a
permissions -rw-r--r--
libc/glibc: do not consume parameters when parsing them

Currently, there are two constructs used to parse arguments in
glibc backends, one that consumes args as they are parsed, and
one that does not.

Always use the construct that does not eat args as they are parsed.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 diff -durN strace-4.5.19.orig/acinclude.m4 strace-4.5.19/acinclude.m4
     2 --- strace-4.5.19.orig/acinclude.m4	2004-04-14 04:45:53.000000000 +0200
     3 +++ strace-4.5.19/acinclude.m4	2009-10-28 18:47:18.000000000 +0100
     4 @@ -210,6 +210,26 @@
     5  fi
     6  ])
     7  
     8 +dnl ### A macro to determine whether statfs64 is defined.
     9 +AC_DEFUN([AC_STATFS64],
    10 +[AC_MSG_CHECKING(for statfs64 in sys/(statfs|vfs).h)
    11 +AC_CACHE_VAL(ac_cv_type_statfs64,
    12 +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef LINUX
    13 +#include <linux/types.h>
    14 +#include <sys/statfs.h>
    15 +#else
    16 +#include <sys/vfs.h>
    17 +#endif]], [[struct statfs64 st;]])],[ac_cv_type_statfs64=yes],[ac_cv_type_statfs64=no])])
    18 +AC_MSG_RESULT($ac_cv_type_statfs64)
    19 +if test "$ac_cv_type_statfs64" = yes
    20 +then
    21 +	AC_DEFINE([HAVE_STATFS64], 1,
    22 +[Define if statfs64 is available in sys/statfs.h or sys/vfs.h.])
    23 +fi
    24 +])
    25 +
    26 +
    27 +
    28  dnl ### A macro to determine if off_t is a long long
    29  AC_DEFUN([AC_OFF_T_IS_LONG_LONG],
    30  [AC_MSG_CHECKING(for long long off_t)
    31 diff -durN strace-4.5.19.orig/configure.ac strace-4.5.19/configure.ac
    32 --- strace-4.5.19.orig/configure.ac	2009-10-12 21:54:43.000000000 +0200
    33 +++ strace-4.5.19/configure.ac	2009-10-28 18:47:18.000000000 +0100
    34 @@ -187,6 +187,7 @@
    35  		  struct stat.st_level,
    36  		  struct stat.st_rdev])
    37  AC_STAT64
    38 +AC_STATFS64
    39  
    40  AC_TYPE_SIGNAL
    41  AC_TYPE_UID_T
    42 diff -durN strace-4.5.19.orig/file.c strace-4.5.19/file.c
    43 --- strace-4.5.19.orig/file.c	2009-10-21 15:44:04.000000000 +0200
    44 +++ strace-4.5.19/file.c	2009-10-28 18:47:18.000000000 +0100
    45 @@ -1688,7 +1688,7 @@
    46  	return 0;
    47  }
    48  
    49 -#ifdef LINUX
    50 +#ifdef HAVE_STATFS64
    51  static void
    52  printstatfs64(struct tcb *tcp, long addr)
    53  {