diff -u acinclude.m4 acinclude.m4
--- acinclude.m4	2004-04-14 04:21:01.000000000 +0200
+++ acinclude.m4	2008-10-28 14:24:30.000000000 +0100
@@ -210,6 +210,23 @@
 fi
 ])
 
+dnl ### A macro to determine whether statfs64 is defined.
+AC_DEFUN([AC_STATFS64],
+[AC_MSG_CHECKING(for statfs64 in sys/vfs.h)
+AC_CACHE_VAL(ac_cv_type_statfs64,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef LINUX
+#include <linux/types.h>
+#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/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)
diff -u configure.ac configure.ac
--- configure.ac	2008-08-28 23:15:56.000000000 +0200
+++ configure.ac	2008-10-28 14:24:41.000000000 +0100
@@ -170,6 +170,7 @@
 		  struct stat.st_level,
 		  struct stat.st_rdev])
 AC_STAT64
+AC_STATFS64
 
 AC_TYPE_SIGNAL
 AC_TYPE_UID_T
diff -u file.c file.c
--- file.c	2008-08-01 03:13:10.000000000 +0200
+++ file.c	2008-10-28 14:27:03.000000000 +0100
@@ -1704,13 +1704,17 @@
 	return 0;
 }
 
-#ifdef LINUX
+#if defined LINUX && defined HAVE_STATFS64
 static void
 printstatfs64(tcp, addr)
 struct tcb *tcp;
 long addr;
 {
+#ifdef HAVE_STAT64
 	struct statfs64 statbuf;
+#else
+	struct statfs statbuf;
+#endif
 
 	if (syserror(tcp) || !verbose(tcp)) {
 		tprintf("%#lx", addr);
