From b9c59ec83ab50e1cd097f067461e34a5750694c8 Mon Sep 17 00:00:00 2001 From: Prakash Surya Date: Tue, 29 Nov 2011 14:31:20 -0800 Subject: [PATCH] Fix configure tests to play nice with GCC 4.6 As of GCC 4.6, specific kernel 2.6.32 header files do not compile cleanly without warnings. One specific example of this is the arch/x86/include/asm/percpu.h file. Thus, a few of the configure tests were getting hung up on this and the '-Wno-unsued-but-set-variables' compile option had to be introduced. Signed-off-by: Prakash Surya Signed-off-by: Brian Behlendorf Closes #459 --- config/kernel-bdev-block-device-operations.m4 | 3 + config/kernel-bdev-logical-size.m4 | 3 + config/kernel-blk-end-request.m4 | 3 + config/kernel-blk-fetch-request.m4 | 3 + config/kernel-blk-requeue-request.m4 | 3 + config/kernel-blk-rq-bytes.m4 | 3 + config/kernel-blk-rq-pos.m4 | 3 + config/kernel-blk-rq-sectors.m4 | 3 + config/kernel-get-disk-ro.m4 | 3 + config/kernel-rq-for-each_segment.m4 | 3 + config/kernel-rq-is_sync.m4 | 3 + configure | 66 +++++++++++++++++++ 12 files changed, 99 insertions(+) diff --git a/config/kernel-bdev-block-device-operations.m4 b/config/kernel-bdev-block-device-operations.m4 index daf14f0f9e..2805237aa9 100644 --- a/config/kernel-bdev-block-device-operations.m4 +++ b/config/kernel-bdev-block-device-operations.m4 @@ -3,6 +3,8 @@ dnl # 2.6.x API change dnl # AC_DEFUN([ZFS_AC_KERNEL_BDEV_BLOCK_DEVICE_OPERATIONS], [ AC_MSG_CHECKING([block device operation prototypes]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -30,4 +32,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BDEV_BLOCK_DEVICE_OPERATIONS], [ ],[ AC_MSG_RESULT(struct inode) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-bdev-logical-size.m4 b/config/kernel-bdev-logical-size.m4 index 1e199663b1..d066c863fb 100644 --- a/config/kernel-bdev-logical-size.m4 +++ b/config/kernel-bdev-logical-size.m4 @@ -7,6 +7,8 @@ dnl # it explicit. dnl # AC_DEFUN([ZFS_AC_KERNEL_BDEV_LOGICAL_BLOCK_SIZE], [ AC_MSG_CHECKING([whether bdev_logical_block_size() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -19,4 +21,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BDEV_LOGICAL_BLOCK_SIZE], [ ],[ AC_MSG_RESULT(no) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-blk-end-request.m4 b/config/kernel-blk-end-request.m4 index 20ad1a9263..0228fb0f9b 100644 --- a/config/kernel-blk-end-request.m4 +++ b/config/kernel-blk-end-request.m4 @@ -5,6 +5,8 @@ dnl # changed in 2.6.31 so it may be used by non-GPL modules. dnl # AC_DEFUN([ZFS_AC_KERNEL_BLK_END_REQUEST], [ AC_MSG_CHECKING([whether blk_end_request() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -34,4 +36,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_END_REQUEST], [ AC_DEFINE(HAVE_BLK_END_REQUEST_GPL_ONLY, 1, [blk_end_request() is GPL-only]) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-blk-fetch-request.m4 b/config/kernel-blk-fetch-request.m4 index 34a5d2fa8f..c277f52c08 100644 --- a/config/kernel-blk-fetch-request.m4 +++ b/config/kernel-blk-fetch-request.m4 @@ -7,6 +7,8 @@ dnl # next available request and removed it from the request queue. dnl # AC_DEFUN([ZFS_AC_KERNEL_BLK_FETCH_REQUEST], [ AC_MSG_CHECKING([whether blk_fetch_request() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -19,4 +21,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_FETCH_REQUEST], [ ],[ AC_MSG_RESULT(no) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-blk-requeue-request.m4 b/config/kernel-blk-requeue-request.m4 index f676f85cb2..d8e7439e02 100644 --- a/config/kernel-blk-requeue-request.m4 +++ b/config/kernel-blk-requeue-request.m4 @@ -6,6 +6,8 @@ dnl # blk_requeue_request() function. dnl # AC_DEFUN([ZFS_AC_KERNEL_BLK_REQUEUE_REQUEST], [ AC_MSG_CHECKING([whether blk_requeue_request() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -19,4 +21,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_REQUEUE_REQUEST], [ ],[ AC_MSG_RESULT(no) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-blk-rq-bytes.m4 b/config/kernel-blk-rq-bytes.m4 index da83405cbe..6430dfe505 100644 --- a/config/kernel-blk-rq-bytes.m4 +++ b/config/kernel-blk-rq-bytes.m4 @@ -6,6 +6,8 @@ dnl blk_rq_bytes() helper was changed to a static inline which we can use. dnl # AC_DEFUN([ZFS_AC_KERNEL_BLK_RQ_BYTES], [ AC_MSG_CHECKING([whether blk_rq_bytes() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -35,4 +37,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_RQ_BYTES], [ AC_DEFINE(HAVE_BLK_RQ_BYTES_GPL_ONLY, 1, [blk_rq_bytes() is GPL-only]) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-blk-rq-pos.m4 b/config/kernel-blk-rq-pos.m4 index aaa464665c..fd8a92657e 100644 --- a/config/kernel-blk-rq-pos.m4 +++ b/config/kernel-blk-rq-pos.m4 @@ -3,6 +3,8 @@ dnl # 2.6.31 API change dnl # AC_DEFUN([ZFS_AC_KERNEL_BLK_RQ_POS], [ AC_MSG_CHECKING([whether blk_rq_pos() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -15,4 +17,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_RQ_POS], [ ],[ AC_MSG_RESULT(no) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-blk-rq-sectors.m4 b/config/kernel-blk-rq-sectors.m4 index db8c43938d..fbcd113204 100644 --- a/config/kernel-blk-rq-sectors.m4 +++ b/config/kernel-blk-rq-sectors.m4 @@ -3,6 +3,8 @@ dnl # 2.6.31 API change dnl # AC_DEFUN([ZFS_AC_KERNEL_BLK_RQ_SECTORS], [ AC_MSG_CHECKING([whether blk_rq_sectors() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -15,4 +17,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BLK_RQ_SECTORS], [ ],[ AC_MSG_RESULT(no) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-get-disk-ro.m4 b/config/kernel-get-disk-ro.m4 index 365afdbc69..aac69b7a10 100644 --- a/config/kernel-get-disk-ro.m4 +++ b/config/kernel-get-disk-ro.m4 @@ -3,6 +3,8 @@ dnl # 2.6.x API change dnl # AC_DEFUN([ZFS_AC_KERNEL_GET_DISK_RO], [ AC_MSG_CHECKING([whether get_disk_ro() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -15,4 +17,5 @@ AC_DEFUN([ZFS_AC_KERNEL_GET_DISK_RO], [ ],[ AC_MSG_RESULT(no) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-rq-for-each_segment.m4 b/config/kernel-rq-for-each_segment.m4 index 15f030f350..182147817f 100644 --- a/config/kernel-rq-for-each_segment.m4 +++ b/config/kernel-rq-for-each_segment.m4 @@ -3,6 +3,8 @@ dnl # 2.6.x API change dnl # AC_DEFUN([ZFS_AC_KERNEL_RQ_FOR_EACH_SEGMENT], [ AC_MSG_CHECKING([whether rq_for_each_segment() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -17,4 +19,5 @@ AC_DEFUN([ZFS_AC_KERNEL_RQ_FOR_EACH_SEGMENT], [ ],[ AC_MSG_RESULT(no) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/config/kernel-rq-is_sync.m4 b/config/kernel-rq-is_sync.m4 index 40d0de80cd..507bf683e0 100644 --- a/config/kernel-rq-is_sync.m4 +++ b/config/kernel-rq-is_sync.m4 @@ -3,6 +3,8 @@ dnl # 2.6.x API change dnl # AC_DEFUN([ZFS_AC_KERNEL_RQ_IS_SYNC], [ AC_MSG_CHECKING([whether rq_is_sync() is available]) + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" ZFS_LINUX_TRY_COMPILE([ #include ],[ @@ -15,4 +17,5 @@ AC_DEFUN([ZFS_AC_KERNEL_RQ_IS_SYNC], [ ],[ AC_MSG_RESULT(no) ]) + EXTRA_KCFLAGS="$tmp_flags" ]) diff --git a/configure b/configure index 89596d98ed..885d5eb09a 100755 --- a/configure +++ b/configure @@ -12486,6 +12486,8 @@ fi { $as_echo "$as_me:$LINENO: checking block device operation prototypes" >&5 $as_echo_n "checking block device operation prototypes... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -12563,6 +12565,7 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether kernel defines fmode_t" >&5 $as_echo_n "checking whether kernel defines fmode_t... " >&6; } @@ -12869,6 +12872,8 @@ fi { $as_echo "$as_me:$LINENO: checking whether bdev_logical_block_size() is available" >&5 $as_echo_n "checking whether bdev_logical_block_size() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -12931,6 +12936,7 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether bio_empty_barrier() is defined" >&5 @@ -13471,6 +13477,8 @@ fi { $as_echo "$as_me:$LINENO: checking whether blk_end_request() is available" >&5 $as_echo_n "checking whether blk_end_request() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -13601,10 +13609,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_fetch_request() is available" >&5 $as_echo_n "checking whether blk_fetch_request() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -13667,10 +13678,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_requeue_request() is available" >&5 $as_echo_n "checking whether blk_requeue_request() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -13734,10 +13748,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_rq_bytes() is available" >&5 $as_echo_n "checking whether blk_rq_bytes() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -13868,10 +13885,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_rq_pos() is available" >&5 $as_echo_n "checking whether blk_rq_pos() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -13934,10 +13954,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_rq_sectors() is available" >&5 $as_echo_n "checking whether blk_rq_sectors() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -14000,10 +14023,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether get_disk_ro() is available" >&5 $as_echo_n "checking whether get_disk_ro() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -14066,10 +14092,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether rq_is_sync() is available" >&5 $as_echo_n "checking whether rq_is_sync() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -14132,10 +14161,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether rq_for_each_segment() is available" >&5 $as_echo_n "checking whether rq_for_each_segment() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -14200,6 +14232,7 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether super_block uses const struct xattr_hander" >&5 $as_echo_n "checking whether super_block uses const struct xattr_hander... " >&6; } @@ -17223,6 +17256,8 @@ fi { $as_echo "$as_me:$LINENO: checking block device operation prototypes" >&5 $as_echo_n "checking block device operation prototypes... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -17300,6 +17335,7 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether kernel defines fmode_t" >&5 $as_echo_n "checking whether kernel defines fmode_t... " >&6; } @@ -17606,6 +17642,8 @@ fi { $as_echo "$as_me:$LINENO: checking whether bdev_logical_block_size() is available" >&5 $as_echo_n "checking whether bdev_logical_block_size() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -17668,6 +17706,7 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether bio_empty_barrier() is defined" >&5 @@ -18208,6 +18247,8 @@ fi { $as_echo "$as_me:$LINENO: checking whether blk_end_request() is available" >&5 $as_echo_n "checking whether blk_end_request() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18338,10 +18379,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_fetch_request() is available" >&5 $as_echo_n "checking whether blk_fetch_request() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18404,10 +18448,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_requeue_request() is available" >&5 $as_echo_n "checking whether blk_requeue_request() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18471,10 +18518,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_rq_bytes() is available" >&5 $as_echo_n "checking whether blk_rq_bytes() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18605,10 +18655,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_rq_pos() is available" >&5 $as_echo_n "checking whether blk_rq_pos() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18671,10 +18724,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether blk_rq_sectors() is available" >&5 $as_echo_n "checking whether blk_rq_sectors() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18737,10 +18793,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether get_disk_ro() is available" >&5 $as_echo_n "checking whether get_disk_ro() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18803,10 +18862,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether rq_is_sync() is available" >&5 $as_echo_n "checking whether rq_is_sync() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18869,10 +18931,13 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether rq_for_each_segment() is available" >&5 $as_echo_n "checking whether rq_for_each_segment() is available... " >&6; } + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Wno-unused-but-set-variable" cat confdefs.h - <<_ACEOF >conftest.c @@ -18937,6 +19002,7 @@ fi rm -Rf build + EXTRA_KCFLAGS="$tmp_flags" { $as_echo "$as_me:$LINENO: checking whether super_block uses const struct xattr_hander" >&5 $as_echo_n "checking whether super_block uses const struct xattr_hander... " >&6; }