# 4.6 kernel created stringhash.h which moved stuff out of dcache.h
# commit f4bcbe792b8f434e32487cff9d9e30ab45a3ce02
#
+AC_DEFUN([LIBCFS_SRC_STRINGHASH], [
+ LB2_CHECK_LINUX_HEADER_SRC([linux/stringhash.h], [-Werror])
+])
AC_DEFUN([LIBCFS_STRINGHASH], [
-LB_CHECK_LINUX_HEADER([linux/stringhash.h], [
- AC_DEFINE(HAVE_STRINGHASH, 1,
- [stringhash.h is present])])
+ LB2_CHECK_LINUX_HEADER_RESULT([linux/stringhash.h], [
+ AC_DEFINE(HAVE_STRINGHASH, 1,
+ [stringhash.h is present])
+ ])
]) # LIBCFS_STRINGHASH
#
]) # LIBCFS_HOTPLUG_STATE_MACHINE
#
+# LIBCFS_REFCOUNT_T
+#
# Kernel version 4.10-rc3 commit f405df5de3170c00e5c54f8b7cf4766044a032ba
# introduced refcount_t which is atomic_t plus over flow guards.
#
-AC_DEFUN([LIBCFS_REFCOUNT_T], [
-tmp_flags="$EXTRA_KCFLAGS"
-EXTRA_KCFLAGS="-Werror"
-LB_CHECK_LINUX_HEADER([linux/refcount.h], [
- AC_DEFINE(HAVE_REFCOUNT_T, 1,
- [refcount_t is supported])
+AC_DEFUN([LIBCFS_SRC_REFCOUNT_T], [
+ LB2_CHECK_LINUX_HEADER_SRC([linux/refcount.h], [-Werror])
])
-EXTRA_KCFLAGS="$tmp_flags"
+AC_DEFUN([LIBCFS_REFCOUNT_T], [
+ LB2_CHECK_LINUX_HEADER_RESULT([linux/refcount.h], [
+ AC_DEFINE(HAVE_REFCOUNT_T, 1,
+ [refcount_t is supported])
+ ])
]) # LIBCFS_REFCOUNT_T
#
#
# 4.11 has broken up sched.h into more headers.
#
+AC_DEFUN([LIBCFS_SRC_SCHED_HEADERS], [
+ LB2_CHECK_LINUX_HEADER_SRC([linux/sched/signal.h], [-Werror])
+])
AC_DEFUN([LIBCFS_SCHED_HEADERS], [
-LB_CHECK_LINUX_HEADER([linux/sched/signal.h], [
- AC_DEFINE(HAVE_SCHED_HEADERS, 1,
- [linux/sched header directory exist])])
+ LB2_CHECK_LINUX_HEADER_RESULT([linux/sched/signal.h], [
+ AC_DEFINE(HAVE_SCHED_HEADERS, 1,
+ [linux/sched header directory exist])
+ ])
]) # LIBCFS_SCHED_HEADERS
#
]) # LIBCFS_CPUS_READ_LOCK
#
+# LIBCFS_HAVE_PROCESSOR_HEADER
+#
# Kernel version 4.12-rc3 commit fd851a3cdc196bfc1d229b5f22369069af532bf8
# introduce processor.h
#
-AC_DEFUN([LIBCFS_HAVE_PROCESSOR_HEADER], [
-tmp_flags="$EXTRA_KCFLAGS"
-EXTRA_KCFLAGS="-Werror"
-LB_CHECK_LINUX_HEADER([linux/processor.h], [
- AC_DEFINE(HAVE_PROCESSOR_H, 1,
- [processor.h is present])
+AC_DEFUN([LIBCFS_SRC_HAVE_PROCESSOR_HEADER], [
+ LB2_CHECK_LINUX_HEADER_SRC([linux/processor.h], [-Werror])
])
-EXTRA_KCFLAGS="$tmp_flags"
+AC_DEFUN([LIBCFS_HAVE_PROCESSOR_HEADER], [
+ LB2_CHECK_LINUX_HEADER_RESULT([linux/processor.h], [
+ AC_DEFINE(HAVE_PROCESSOR_H, 1,
+ [processor.h is present])
+ ],[])
]) # LIBCFS_HAVE_PROCESSOR_HEADER
#
+# LIBCFS_HAVE_WAIT_BIT_HEADER
+#
# Kernel verison 4.12-rc6 commit 5dd43ce2f69d42a71dcacdb13d17d8c0ac1fe8f7
# created wait_bit.h
#
+AC_DEFUN([LIBCFS_SRC_HAVE_WAIT_BIT_HEADER], [
+ LB2_CHECK_LINUX_HEADER_SRC([linux/wait_bit.h], [-Werror])
+])
AC_DEFUN([LIBCFS_HAVE_WAIT_BIT_HEADER], [
-LB_CHECK_LINUX_HEADER([linux/wait_bit.h], [
- AC_DEFINE(HAVE_WAIT_BIT_HEADER_H, 1,
- [wait_bit.h is present])])
-]) # LIBCFS_HAVE_WAIT_BIT_HEADER
+ LB2_CHECK_LINUX_HEADER_RESULT([linux/wait_bit.h], [
+ AC_DEFINE(HAVE_WAIT_BIT_HEADER_H, 1,
+ [wait_bit.h is present])
+ ],[])
+]) # LIBCFS_HAVE_PROCESSOR_HEADER
#
# Kernel version 4.12-rc6 commmit 2055da97389a605c8a00d163d40903afbe413921
# Kernel v5.10-rc1-114-ga24d22b225ce
# crypto: sha - split sha.h into sha1.h and sha2.h
#
+AC_DEFUN([LIBCFS_SRC_HAVE_CRYPTO_SHA2_HEADER], [
+ LB2_CHECK_LINUX_HEADER_SRC([crypto/sha2.h], [-Werror])
+])
AC_DEFUN([LIBCFS_HAVE_CRYPTO_SHA2_HEADER], [
-LB_CHECK_LINUX_HEADER([crypto/sha2.h], [
- AC_DEFINE(HAVE_CRYPTO_SHA2_HEADER, 1,
- [crypto/sha2.h is present])])
+ LB2_CHECK_LINUX_HEADER_RESULT([crypto/sha2.h], [
+ AC_DEFINE(HAVE_CRYPTO_SHA2_HEADER, 1,
+ [crypto/sha2.h is present])
+ ])
]) # LIBCFS_HAVE_CRYPTO_SHA2_HEADER
#
# Kernel 5.12 commit 0eb76ba29d16df2951d37c54ca279c4e5630b071
# crypto: remove cipher routines from public crypto API
#
-AC_DEFUN([LIBCFS_HAVE_CIPHER_HEADER], [
-tmp_flags="$EXTRA_KCFLAGS"
-EXTRA_KCFLAGS="-Werror"
-LB_CHECK_LINUX_HEADER([crypto/internal/cipher.h], [
- AC_DEFINE(HAVE_CIPHER_H, 1,
- [crypto/internal/cipher.h is present])
+AC_DEFUN([LIBCFS_SRC_HAVE_CIPHER_HEADER], [
+ LB2_CHECK_LINUX_HEADER_SRC([crypto/internal/cipher.h], [-Werror])
])
-EXTRA_KCFLAGS="$tmp_flags"
+AC_DEFUN([LIBCFS_HAVE_CIPHER_HEADER], [
+ LB2_CHECK_LINUX_HEADER_RESULT([crypto/internal/cipher.h], [
+ AC_DEFINE(HAVE_CIPHER_H, 1,
+ [crypto/internal/cipher.h is present])
+ ])
]) # LIBCFS_HAVE_CIPHER_HEADER
#
# Kernel 5.14-rc5 commit c0891ac15f0428ffa81b2e818d416bdf3cb74ab6
# isystem: ship and use stdarg.h
#
-AC_DEFUN([LIBCFS_LINUX_STDARG_HEADER], [
-tmp_flags="$EXTRA_KCFLAGS"
-EXTRA_KCFLAGS="-Werror"
-LB_CHECK_LINUX_HEADER([linux/stdarg.h], [
- AC_DEFINE(HAVE_LINUX_STDARG_HEADER, 1, [linux/stdarg.h is present])
+AC_DEFUN([LIBCFS_SRC_LINUX_STDARG_HEADER], [
+ LB2_CHECK_LINUX_HEADER_SRC([linux/stdarg.h], [-Werror])
])
-EXTRA_KCFLAGS="$tmp_flags"
+AC_DEFUN([LIBCFS_LINUX_STDARG_HEADER], [
+ LB2_CHECK_LINUX_HEADER_RESULT([linux/stdarg.h], [
+ AC_DEFINE(HAVE_LINUX_STDARG_HEADER, 1,
+ [linux/stdarg.h is present])
+ ])
]) # LIBCFS_LINUX_STDARG_HEADER
#
# Kernel 5.14 commit f39650de687e35766572ac89dbcd16a5911e2f0a
# kernel.h: split out panic and oops helpers
#
-AC_DEFUN([LIBCFS_HAVE_PANIC_NOTIFIER_HEADER], [
-tmp_flags="$EXTRA_KCFLAGS"
-EXTRA_KCFLAGS="-Werror"
-LB_CHECK_LINUX_HEADER([linux/panic_notifier.h], [
- AC_DEFINE(HAVE_PANIC_NOTIFIER_H, 1,
- [linux/panic_notifier.h is present])
+AC_DEFUN([LIBCFS_SRC_HAVE_PANIC_NOTIFIER_HEADER], [
+ LB2_CHECK_LINUX_HEADER_SRC([linux/panic_notifier.h], [-Werror])
])
-EXTRA_KCFLAGS="$tmp_flags"
+AC_DEFUN([LIBCFS_HAVE_PANIC_NOTIFIER_HEADER], [
+ LB2_CHECK_LINUX_HEADER_RESULT([linux/panic_notifier.h], [
+ AC_DEFINE(HAVE_PANIC_NOTIFIER_H, 1,
+ [linux/panic_notifier.h is present])
+ ])
]) # LIBCFS_HAVE_PANIC_NOTIFIER_HEADER
#
# Kernel 5.15-rc6 commit fe45e630a1035aea94c29016f2598bbde149bbe3
# block: move integrity handling out of <linux/blkdev.h>
#
-AC_DEFUN([LIBCFS_LINUX_BLK_INTEGRITY_HEADER], [
-tmp_flags="$EXTRA_KCFLAGS"
-EXTRA_KCFLAGS="-Werror"
-LB_CHECK_LINUX_HEADER([linux/blk-integrity.h], [
- AC_DEFINE(HAVE_LINUX_BLK_INTEGRITY_HEADER, 1,
- [linux/blk-integrity.h is present])
+AC_DEFUN([LIBCFS_SRC_LINUX_BLK_INTEGRITY_HEADER], [
+ LB2_CHECK_LINUX_HEADER_SRC([linux/blk-integrity.h], [-Werror])
])
-EXTRA_KCFLAGS="$tmp_flags"
+AC_DEFUN([LIBCFS_LINUX_BLK_INTEGRITY_HEADER], [
+ LB2_CHECK_LINUX_HEADER_RESULT([linux/blk-integrity.h], [
+ AC_DEFINE(HAVE_LINUX_BLK_INTEGRITY_HEADER, 1,
+ [linux/blk-integrity.h is present])
+ ])
]) # LIBCFS_LINUX_BLK_INTEGRITY_HEADER
#
LIBCFS_SRC_BROKEN_HASH_64
LIBCFS_SRC_STACKTRACE_OPS_ADDRESS_RETURN_INT
LIBCFS_SRC_GET_USER_PAGES_6ARG
+ LIBCFS_SRC_STRINGHASH
# 4.7
LIBCFS_SRC_RHASHTABLE_INSERT_FAST
LIBCFS_SRC_RHASHTABLE_WALK_INIT_3ARG
# 4.11
LIBCFS_SRC_NL_EXT_ACK
LIBCFS_SRC_RHASHTABLE_LOOKUP_GET_INSERT_FAST
+ LIBCFS_SRC_SCHED_HEADERS
LIBCFS_SRC_KREF_READ
LIBCFS_SRC_RHT_BUCKET_VAR
# 4.12
LIBCFS_SRC_CPUS_READ_LOCK
+ LIBCFS_SRC_HAVE_PROCESSOR_HEADER
LIBCFS_SRC_WAIT_QUEUE_TASK_LIST_RENAME
LIBCFS_SRC_WAIT_BIT_QUEUE_ENTRY_EXISTS
+ LIBCFS_SRC_REFCOUNT_T
LIBCFS_SRC_MEMALLOC_NORECLAIM
# 4.13
LIBCFS_SRC_NLA_STRDUP
LIBCFS_SRC_NEW_KERNEL_WRITE
LIBCFS_SRC_NEW_KERNEL_READ
# 4.15
- LIBCFS_SRC_LOCKDEP_IS_HELD
LIBCFS_SRC_BITMAP_TO_ARR32
LIBCFS_SRC_TIMER_SETUP
# 4.16
LIBCFS_SRC_SEC_RELEASE_SECCTX
# 5.10
LIBCFS_SRC_HAVE_KFREE_SENSITIVE
+ LIBCFS_SRC_HAVE_CRYPTO_SHA2_HEADER
LIBCFS_SRC_HAVE_LIST_CMP_FUNC_T
LIBCFS_SRC_NLA_STRLCPY
# 5.12
LIBCFS_SRC_LINUX_FORTIFY_STRING_HEADER
+ LIBCFS_SRC_HAVE_CIPHER_HEADER
# 5.13
LIBCFS_SRC_HAVE_TASK_IS_RUNNING
+ # 5.14
+ LIBCFS_SRC_LINUX_STDARG_HEADER
+ LIBCFS_SRC_HAVE_PANIC_NOTIFIER_HEADER
# 5.15
LIBCFS_SRC_PARAM_SET_UINT_MINMAX
# 5.17
LIBCFS_BROKEN_HASH_64
LIBCFS_STACKTRACE_OPS_ADDRESS_RETURN_INT
LIBCFS_GET_USER_PAGES_6ARG
+ LIBCFS_STRINGHASH
# 4.7
LIBCFS_RHASHTABLE_INSERT_FAST
LIBCFS_RHASHTABLE_WALK_INIT_3ARG
# 4.11
LIBCFS_NL_EXT_ACK
LIBCFS_RHASHTABLE_LOOKUP_GET_INSERT_FAST
+ LIBCFS_SCHED_HEADERS
LIBCFS_KREF_READ
LIBCFS_RHT_BUCKET_VAR
# 4.12
LIBCFS_CPUS_READ_LOCK
+ LIBCFS_HAVE_PROCESSOR_HEADER
LIBCFS_WAIT_QUEUE_TASK_LIST_RENAME
LIBCFS_WAIT_BIT_QUEUE_ENTRY_EXISTS
+ LIBCFS_REFCOUNT_T
LIBCFS_MEMALLOC_NORECLAIM
# 4.13
LIBCFS_NLA_STRDUP
LIBCFS_NEW_KERNEL_WRITE
LIBCFS_NEW_KERNEL_READ
# 4.15
- LIBCFS_LOCKDEP_IS_HELD
LIBCFS_BITMAP_TO_ARR32
LIBCFS_TIMER_SETUP
# 4.16
LIBCFS_SEC_RELEASE_SECCTX
# 5.10
LIBCFS_HAVE_KFREE_SENSITIVE
+ LIBCFS_HAVE_CRYPTO_SHA2_HEADER
LIBCFS_HAVE_LIST_CMP_FUNC_T
LIBCFS_NLA_STRLCPY
# 5.12
LIBCFS_LINUX_FORTIFY_STRING_HEADER
+ LIBCFS_HAVE_CIPHER_HEADER
# 5.13
LIBCFS_HAVE_TASK_IS_RUNNING
+ # 5.14
+ LIBCFS_LINUX_STDARG_HEADER
+ LIBCFS_HAVE_PANIC_NOTIFIER_HEADER
# 5.15
LIBCFS_PARAM_SET_UINT_MINMAX
# 5.17
==============================================================================])
LIBCFS_CONFIG_PANIC_DUMPLOG
-# 4.6 - Header Check
-LIBCFS_STRINGHASH
# 4.6 - Export Check
LIBCFS_EXPORT_KSET_FIND_OBJ
-# 4.10 - Header Check
-LIBCFS_REFCOUNT_T
-# 4.11 - Header Check
-LIBCFS_SCHED_HEADERS
-# 4.13 - Header Checks
-LIBCFS_HAVE_PROCESSOR_HEADER
-LIBCFS_HAVE_WAIT_BIT_HEADER
# 4.13 - Export Check
LIBCFS_EXPORT_SAVE_STACK_TRACE_TSK
-# 5.0 - Header Check
+# 5.0 - Export Check
LIBCFS_GENRADIX
-# 5.7 - Export Check and Header Check
+# 5.7 - Export Check
LIBCFS_KALLSYMS_LOOKUP
-LIBCFS_HAVE_CRYPTO_SHA2_HEADER
-# 5.12 - Header Check
-LIBCFS_HAVE_CIPHER_HEADER
-# 5.14 - Header Checks
-LIBCFS_LINUX_STDARG_HEADER
-LIBCFS_HAVE_PANIC_NOTIFIER_HEADER
-# 5.15 - Header Check
-LIBCFS_LINUX_BLK_INTEGRITY_HEADER
]) # LIBCFS_PROG_LINUX
#