aboutsummaryrefslogtreecommitdiff
path: root/config/cet.m4
diff options
context:
space:
mode:
Diffstat (limited to 'config/cet.m4')
-rw-r--r--config/cet.m416
1 files changed, 14 insertions, 2 deletions
diff --git a/config/cet.m4 b/config/cet.m4
index 715f4bd..23dd1f7 100644
--- a/config/cet.m4
+++ b/config/cet.m4
@@ -5,15 +5,24 @@ dnl
AC_DEFUN([GCC_CET_FLAGS],[dnl
GCC_ENABLE(cet, default, ,[enable Intel CET in target libraries],
permit yes|no|default)
+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.
+ # 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])
;;
@@ -34,5 +43,8 @@ case "$host" in
esac
if test x$enable_cet = xyes; then
$1="-fcf-protection -mcet"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
fi
])