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
							
								
									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 # | ||||||
| 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
	 Brian Behlendorf
						Brian Behlendorf