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