dnl (SHELL-CODE_HANDLER)
dnl
AC_DEFUN([GCC_CET_FLAGS],[dnl
-GCC_ENABLE(cet, default, ,[enable Intel CET in target libraries],
- permit yes|no|default)
+GCC_ENABLE(cet, no, ,[enable Intel CET in target libraries],
+ permit yes|no|auto)
+AC_MSG_CHECKING([for CET support])
+
case "$host" in
i[[34567]]86-*-linux* | x86_64-*-linux*)
case "$enable_cet" in
- default)
- # Check if assembler supports CET.
+ auto)
+ # Check if target supports multi-byte NOPs
+ # and if assembler supports CET insn.
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[],
- [asm ("setssbsy");])],
+ [
+#if !defined(__SSE2__)
+#error target does not support multi-byte NOPs
+#else
+asm ("setssbsy");
+#endif
+ ])],
[enable_cet=yes],
[enable_cet=no])
;;
;;
esac
if test x$enable_cet = xyes; then
- $1="-fcf-protection -mcet"
+ $1="-fcf-protection -mshstk"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
fi
])