xref: /freebsd/sys/contrib/openzfs/config/kernel-objtool.m4 (revision eda14cbc264d6969b02f2b1994cef11148e914f1)
1*eda14cbcSMatt Macydnl #
2*eda14cbcSMatt Macydnl # Check for objtool support.
3*eda14cbcSMatt Macydnl #
4*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_SRC_OBJTOOL], [
5*eda14cbcSMatt Macy
6*eda14cbcSMatt Macy	dnl # 4.6 API for compile-time stack validation
7*eda14cbcSMatt Macy	ZFS_LINUX_TEST_SRC([objtool], [
8*eda14cbcSMatt Macy		#undef __ASSEMBLY__
9*eda14cbcSMatt Macy		#include <asm/frame.h>
10*eda14cbcSMatt Macy	],[
11*eda14cbcSMatt Macy		#if !defined(FRAME_BEGIN)
12*eda14cbcSMatt Macy		CTASSERT(1);
13*eda14cbcSMatt Macy		#endif
14*eda14cbcSMatt Macy	])
15*eda14cbcSMatt Macy
16*eda14cbcSMatt Macy	dnl # 4.6 API added STACK_FRAME_NON_STANDARD macro
17*eda14cbcSMatt Macy	ZFS_LINUX_TEST_SRC([stack_frame_non_standard], [
18*eda14cbcSMatt Macy		#include <linux/frame.h>
19*eda14cbcSMatt Macy	],[
20*eda14cbcSMatt Macy		#if !defined(STACK_FRAME_NON_STANDARD)
21*eda14cbcSMatt Macy		CTASSERT(1);
22*eda14cbcSMatt Macy		#endif
23*eda14cbcSMatt Macy	])
24*eda14cbcSMatt Macy])
25*eda14cbcSMatt Macy
26*eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_KERNEL_OBJTOOL], [
27*eda14cbcSMatt Macy	AC_MSG_CHECKING(
28*eda14cbcSMatt Macy	    [whether compile-time stack validation (objtool) is available])
29*eda14cbcSMatt Macy	ZFS_LINUX_TEST_RESULT([objtool], [
30*eda14cbcSMatt Macy		AC_MSG_RESULT(yes)
31*eda14cbcSMatt Macy		AC_DEFINE(HAVE_KERNEL_OBJTOOL, 1,
32*eda14cbcSMatt Macy		    [kernel does stack verification])
33*eda14cbcSMatt Macy
34*eda14cbcSMatt Macy		AC_MSG_CHECKING([whether STACK_FRAME_NON_STANDARD is defined])
35*eda14cbcSMatt Macy		ZFS_LINUX_TEST_RESULT([stack_frame_non_standard], [
36*eda14cbcSMatt Macy			AC_MSG_RESULT(yes)
37*eda14cbcSMatt Macy			AC_DEFINE(HAVE_STACK_FRAME_NON_STANDARD, 1,
38*eda14cbcSMatt Macy			   [STACK_FRAME_NON_STANDARD is defined])
39*eda14cbcSMatt Macy		],[
40*eda14cbcSMatt Macy			AC_MSG_RESULT(no)
41*eda14cbcSMatt Macy		])
42*eda14cbcSMatt Macy	],[
43*eda14cbcSMatt Macy		AC_MSG_RESULT(no)
44*eda14cbcSMatt Macy	])
45*eda14cbcSMatt Macy])
46