mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +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 # 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