mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-24 18:39:34 +03:00
Linux 5.10 compat: frame.h renamed objtool.h
In Linux 5.10 the linux/frame.h header was renamed linux/objtool.h. Add a configure check to detect and use the correctly named header. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #11085
This commit is contained in:
parent
7eefaf0ca0
commit
8c7d604c62
@ -1,3 +1,24 @@
|
||||
dnl #
|
||||
dnl # Detect objtool functionality.
|
||||
dnl #
|
||||
|
||||
dnl #
|
||||
dnl # Kernel 5.10: linux/frame.h was renamed linux/objtool.h
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_KERNEL_OBJTOOL_HEADER], [
|
||||
AC_MSG_CHECKING([whether objtool header is available])
|
||||
ZFS_LINUX_TRY_COMPILE([
|
||||
#include <linux/objtool.h>
|
||||
],[
|
||||
],[
|
||||
AC_DEFINE(HAVE_KERNEL_OBJTOOL_HEADER, 1,
|
||||
[kernel has linux/objtool.h])
|
||||
AC_MSG_RESULT(linux/objtool.h)
|
||||
],[
|
||||
AC_MSG_RESULT(linux/frame.h)
|
||||
])
|
||||
])
|
||||
|
||||
dnl #
|
||||
dnl # Check for objtool support.
|
||||
dnl #
|
||||
@ -16,7 +37,11 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_OBJTOOL], [
|
||||
|
||||
dnl # 4.6 API added STACK_FRAME_NON_STANDARD macro
|
||||
ZFS_LINUX_TEST_SRC([stack_frame_non_standard], [
|
||||
#ifdef HAVE_KERNEL_OBJTOOL_HEADER
|
||||
#include <linux/objtool.h>
|
||||
#else
|
||||
#include <linux/frame.h>
|
||||
#endif
|
||||
],[
|
||||
#if !defined(STACK_FRAME_NON_STANDARD)
|
||||
#error "STACK_FRAME_NON_STANDARD is not defined."
|
||||
|
@ -13,6 +13,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
|
||||
|
||||
dnl # Sequential ZFS_LINUX_TRY_COMPILE tests
|
||||
ZFS_AC_KERNEL_FPU_HEADER
|
||||
ZFS_AC_KERNEL_OBJTOOL_HEADER
|
||||
ZFS_AC_KERNEL_WAIT_QUEUE_ENTRY_T
|
||||
ZFS_AC_KERNEL_MISC_MINOR
|
||||
ZFS_AC_KERNEL_DECLARE_EVENT_CLASS
|
||||
|
@ -25,7 +25,11 @@ extern "C" {
|
||||
|
||||
#if defined(__KERNEL__) && defined(HAVE_KERNEL_OBJTOOL) && \
|
||||
defined(HAVE_STACK_FRAME_NON_STANDARD)
|
||||
#if defined(HAVE_KERNEL_OBJTOOL_HEADER)
|
||||
#include <linux/objtool.h>
|
||||
#else
|
||||
#include <linux/frame.h>
|
||||
#endif
|
||||
#else
|
||||
#define STACK_FRAME_NON_STANDARD(func)
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user