Whamcloud - gitweb
b=24037 Changes of 2.6.32 kernel.
[fs/lustre-release.git] / libcfs / autoconf / lustre-libcfs.m4
index e888679..0aaf7d3 100644 (file)
@@ -107,33 +107,16 @@ AC_DEFUN([LIBCFS_FUNC_SHOW_TASK],
 [kernel/ksyms.c kernel/sched.c],[
 AC_DEFINE(HAVE_SHOW_TASK, 1, [show_task is exported])
 ],[
+        LB_CHECK_SYMBOL_EXPORT([sched_show_task],
+        [kernel/ksyms.c kernel/sched.c],[
+        AC_DEFINE(HAVE_SCHED_SHOW_TASK, 1, [sched_show_task is exported])
+        ],[])
 ])
 ])
 
-# check userland & kernel __u64 type
-AC_DEFUN([LIBCFS_U64_LONG_LONG],
-[AC_MSG_CHECKING([u64 is long long type])
-tmp_flags="$CFLAGS"
-CFLAGS="$CFLAGS -Werror"
-AC_COMPILE_IFELSE([
-       #include <stdio.h>
-       #include <linux/types.h>
-       #include <linux/stddef.h>
-       int main(void) {
-               unsigned long long *data1;
-               __u64 *data2 = NULL;
-
-               data1 = data2;
-               return 0;
-       }
-],[
-       AC_MSG_RESULT([yes])
-        AC_DEFINE(HAVE_USER__U64_LONG_LONG, 1,
-                  [__u64 is long long type])
-],[
-       AC_MSG_RESULT([no])
-])
-CFLAGS="$tmp_flags"
+# check kernel __u64 type
+AC_DEFUN([LIBCFS_U64_LONG_LONG_LINUX],
+[
 AC_MSG_CHECKING([kernel __u64 is long long type])
 tmp_flags="$EXTRA_KCFLAGS"
 EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Werror"
@@ -463,7 +446,7 @@ LB_LINUX_TRY_COMPILE([
 #
 AC_DEFUN([LIBCFS_FUNC_DUMP_TRACE],
 [LB_CHECK_SYMBOL_EXPORT([dump_trace],
-[kernel/ksyms.c arch/${LINUX_ARCH%_64}/kernel/traps_64.c],[
+[kernel/ksyms.c arch/${LINUX_ARCH%_64}/kernel/traps_64.c arch/x86/kernel/dumpstack_32.c arch/x86/kernel/dumpstack_64.c],[
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
        AC_MSG_CHECKING([whether we can really use dump_trace])
@@ -660,7 +643,7 @@ LIBCFS_TYPE_GFP_T
 LIBCFS_CONFIG_PANIC_DUMPLOG
 
 LIBCFS_FUNC_SHOW_TASK
-LIBCFS_U64_LONG_LONG
+LIBCFS_U64_LONG_LONG_LINUX
 LIBCFS_TASK_RCU
 # 2.6.18
 LIBCFS_TASKLIST_LOCK
@@ -781,6 +764,30 @@ AC_CHECK_TYPE([__s64],
        [],
        [#include <asm/types.h>])
 
+# check userland __u64 type
+AC_MSG_CHECKING([userspace __u64 is long long type])
+tmp_flags="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+AC_COMPILE_IFELSE([
+       #include <stdio.h>
+       #include <linux/types.h>
+       #include <linux/stddef.h>
+       int main(void) {
+               unsigned long long *data1;
+               __u64 *data2 = NULL;
+
+               data1 = data2;
+               return 0;
+       }
+],[
+       AC_MSG_RESULT([yes])
+        AC_DEFINE(HAVE_USER__U64_LONG_LONG, 1,
+                  [__u64 is long long type])
+],[
+       AC_MSG_RESULT([no])
+])
+CFLAGS="$tmp_flags"
+
 # --------  Check for required packages  --------------