39 lines
756 B
Plaintext
39 lines
756 B
Plaintext
|
dnl
|
||
|
dnl GCC_CET_FLAGS
|
||
|
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)
|
||
|
case "$host" in
|
||
|
i[[34567]]86-*-linux* | x86_64-*-linux*)
|
||
|
case "$enable_cet" in
|
||
|
default)
|
||
|
# Check if assembler supports CET.
|
||
|
AC_COMPILE_IFELSE(
|
||
|
[AC_LANG_PROGRAM(
|
||
|
[],
|
||
|
[asm ("setssbsy");])],
|
||
|
[enable_cet=yes],
|
||
|
[enable_cet=no])
|
||
|
;;
|
||
|
yes)
|
||
|
# Check if assembler supports CET.
|
||
|
AC_COMPILE_IFELSE(
|
||
|
[AC_LANG_PROGRAM(
|
||
|
[],
|
||
|
[asm ("setssbsy");])],
|
||
|
[],
|
||
|
[AC_MSG_ERROR([assembler with CET support is required for --enable-cet])])
|
||
|
;;
|
||
|
esac
|
||
|
;;
|
||
|
*)
|
||
|
enable_cet=no
|
||
|
;;
|
||
|
esac
|
||
|
if test x$enable_cet = xyes; then
|
||
|
$1="-fcf-protection -mcet"
|
||
|
fi
|
||
|
])
|