| 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 |
| ]) |