mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-03 23:09:35 +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
f8460e7e62
commit
54f10674f3
@ -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 #
|
||||||
dnl # Check for objtool support.
|
dnl # Check for objtool support.
|
||||||
dnl #
|
dnl #
|
||||||
@ -16,7 +37,11 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_OBJTOOL], [
|
|||||||
|
|
||||||
dnl # 4.6 API added STACK_FRAME_NON_STANDARD macro
|
dnl # 4.6 API added STACK_FRAME_NON_STANDARD macro
|
||||||
ZFS_LINUX_TEST_SRC([stack_frame_non_standard], [
|
ZFS_LINUX_TEST_SRC([stack_frame_non_standard], [
|
||||||
|
#ifdef HAVE_KERNEL_OBJTOOL_HEADER
|
||||||
|
#include <linux/objtool.h>
|
||||||
|
#else
|
||||||
#include <linux/frame.h>
|
#include <linux/frame.h>
|
||||||
|
#endif
|
||||||
],[
|
],[
|
||||||
#if !defined(STACK_FRAME_NON_STANDARD)
|
#if !defined(STACK_FRAME_NON_STANDARD)
|
||||||
#error "STACK_FRAME_NON_STANDARD is not defined."
|
#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
|
dnl # Sequential ZFS_LINUX_TRY_COMPILE tests
|
||||||
ZFS_AC_KERNEL_FPU_HEADER
|
ZFS_AC_KERNEL_FPU_HEADER
|
||||||
|
ZFS_AC_KERNEL_OBJTOOL_HEADER
|
||||||
ZFS_AC_KERNEL_WAIT_QUEUE_ENTRY_T
|
ZFS_AC_KERNEL_WAIT_QUEUE_ENTRY_T
|
||||||
ZFS_AC_KERNEL_MISC_MINOR
|
ZFS_AC_KERNEL_MISC_MINOR
|
||||||
ZFS_AC_KERNEL_DECLARE_EVENT_CLASS
|
ZFS_AC_KERNEL_DECLARE_EVENT_CLASS
|
||||||
|
@ -25,7 +25,11 @@ extern "C" {
|
|||||||
|
|
||||||
#if defined(__KERNEL__) && defined(HAVE_KERNEL_OBJTOOL) && \
|
#if defined(__KERNEL__) && defined(HAVE_KERNEL_OBJTOOL) && \
|
||||||
defined(HAVE_STACK_FRAME_NON_STANDARD)
|
defined(HAVE_STACK_FRAME_NON_STANDARD)
|
||||||
|
#if defined(HAVE_KERNEL_OBJTOOL_HEADER)
|
||||||
|
#include <linux/objtool.h>
|
||||||
|
#else
|
||||||
#include <linux/frame.h>
|
#include <linux/frame.h>
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
#define STACK_FRAME_NON_STANDARD(func)
|
#define STACK_FRAME_NON_STANDARD(func)
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user