summaryrefslogtreecommitdiffstats
path: root/package/strace/strace-statfs64-check.patch
blob: c64c07767d70bc6c4784908056ae534ca12fa8a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -210,6 +210,26 @@ then
 fi
 ])
 
+dnl ### A macro to determine whether statfs64 is defined.
+AC_DEFUN([AC_STATFS64],
+[AC_MSG_CHECKING(for statfs64 in sys/(statfs|vfs).h)
+AC_CACHE_VAL(ac_cv_type_statfs64,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef LINUX
+#include <linux/types.h>
+#include <sys/statfs.h>
+#else
+#include <sys/vfs.h>
+#endif]], [[struct statfs64 st;]])],[ac_cv_type_statfs64=yes],[ac_cv_type_statfs64=no])])
+AC_MSG_RESULT($ac_cv_type_statfs64)
+if test "$ac_cv_type_statfs64" = yes
+then
+	AC_DEFINE([HAVE_STATFS64], 1,
+[Define if statfs64 is available in sys/statfs.h or sys/vfs.h.])
+fi
+])
+
+
+
 dnl ### A macro to determine if off_t is a long long
 AC_DEFUN([AC_OFF_T_IS_LONG_LONG],
 [AC_MSG_CHECKING(for long long off_t)
--- a/configure.ac
+++ b/configure.ac
@@ -170,6 +170,7 @@ AC_CHECK_MEMBERS([struct stat.st_blksize
 		  struct stat.st_level,
 		  struct stat.st_rdev])
 AC_STAT64
+AC_STATFS64
 
 AC_TYPE_SIGNAL
 AC_TYPE_UID_T
--- a/file.c
+++ b/file.c
@@ -1704,7 +1704,7 @@ struct tcb *tcp;
 	return 0;
 }
 
-#ifdef LINUX
+#ifdef HAVE_STATFS64
 static void
 printstatfs64(tcp, addr)
 struct tcb *tcp;