comparison config/cet.m4 @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 dnl
2 dnl GCC_CET_FLAGS
3 dnl (SHELL-CODE_HANDLER)
4 dnl
5 AC_DEFUN([GCC_CET_FLAGS],[dnl
6 GCC_ENABLE(cet, no, ,[enable Intel CET in target libraries],
7 permit yes|no|auto)
8 AC_MSG_CHECKING([for CET support])
9
10 case "$host" in
11 i[[34567]]86-*-linux* | x86_64-*-linux*)
12 case "$enable_cet" in
13 auto)
14 # Check if target supports multi-byte NOPs
15 # and if assembler supports CET insn.
16 AC_COMPILE_IFELSE(
17 [AC_LANG_PROGRAM(
18 [],
19 [
20 #if !defined(__SSE2__)
21 #error target does not support multi-byte NOPs
22 #else
23 asm ("setssbsy");
24 #endif
25 ])],
26 [enable_cet=yes],
27 [enable_cet=no])
28 ;;
29 yes)
30 # Check if assembler supports CET.
31 AC_COMPILE_IFELSE(
32 [AC_LANG_PROGRAM(
33 [],
34 [asm ("setssbsy");])],
35 [],
36 [AC_MSG_ERROR([assembler with CET support is required for --enable-cet])])
37 ;;
38 esac
39 ;;
40 *)
41 enable_cet=no
42 ;;
43 esac
44 if test x$enable_cet = xyes; then
45 $1="-fcf-protection -mshstk"
46 AC_MSG_RESULT([yes])
47 else
48 AC_MSG_RESULT([no])
49 fi
50 ])