]> granicus.if.org Git - spl/commitdiff
Fix HAVE_FS_STRUCT_SPINLOCK check for gcc-4.1.2
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 19 Sep 2011 20:35:03 +0000 (13:35 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 19 Sep 2011 20:45:08 +0000 (13:45 -0700)
Older versions of gcc (gcc-4.1.2) will treat an 'incompatible
pointer type' as a warning instead of an error.  This results
in HAVE_FS_STRUCT_SPINLOCK being defined incorrectly.  This
failure mode was observed when using a RHEL6 2.6.32 based kernel
under RHEL5.5 which contains the old version of gcc.  To resolve
the issue the warning is explicitly promoted to an error.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
config/spl-build.m4
configure

index f4652bce12f55af374437dbc9af4110254c67051..c046db830c54af3faa138470eaf03e2a48a9b733 100644 (file)
@@ -1598,6 +1598,8 @@ dnl # a spinlock_t to improve the fastpath performance.
 dnl #
 AC_DEFUN([SPL_AC_FS_STRUCT_SPINLOCK], [
        AC_MSG_CHECKING([whether struct fs_struct uses spinlock_t])
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
        SPL_LINUX_TRY_COMPILE([
                #include <linux/sched.h>
                #include <linux/fs_struct.h>
@@ -1611,6 +1613,7 @@ AC_DEFUN([SPL_AC_FS_STRUCT_SPINLOCK], [
        ],[
                AC_MSG_RESULT(no)
        ])
+       EXTRA_KCFLAGS="$tmp_flags"
 ])
 
 dnl #
index 72bef74a38e3d1e248b8350fb4036b3539339cf6..1369ca05d96fc64dc243f3efd2cea07a455dfce7 100755 (executable)
--- a/configure
+++ b/configure
@@ -15069,6 +15069,8 @@ fi
 
        { $as_echo "$as_me:$LINENO: checking whether struct fs_struct uses spinlock_t" >&5
 $as_echo_n "checking whether struct fs_struct uses spinlock_t... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -15132,6 +15134,7 @@ fi
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
        { $as_echo "$as_me:$LINENO: checking whether struct cred exists" >&5
@@ -19267,6 +19270,8 @@ fi
 
        { $as_echo "$as_me:$LINENO: checking whether struct fs_struct uses spinlock_t" >&5
 $as_echo_n "checking whether struct fs_struct uses spinlock_t... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19330,6 +19335,7 @@ fi
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
        { $as_echo "$as_me:$LINENO: checking whether struct cred exists" >&5