permit yes|no|auto)
AC_MSG_CHECKING([for CET support])
+# NB: Avoid nested save_CFLAGS and save_LDFLAGS.
case "$host" in
i[[34567]]86-*-linux* | x86_64-*-linux*)
case "$enable_cet" in
auto)
# Check if target supports multi-byte NOPs
# and if assembler supports CET insn.
- save_CFLAGS="$CFLAGS"
+ cet_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fcf-protection"
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
])],
[enable_cet=yes],
[enable_cet=no])
- CFLAGS="$save_CFLAGS"
+ CFLAGS="$cet_save_CFLAGS"
;;
yes)
# Check if assembler supports CET.
case "$host" in
i[[34567]]86-*-linux* | x86_64-*-linux*)
may_have_cet=yes
- save_CFLAGS="$CFLAGS"
+ cet_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fcf-protection"
case "$enable_cet" in
auto)
[AC_MSG_ERROR([assembler with CET support is required for --enable-cet])])
;;
esac
- CFLAGS="$save_CFLAGS"
+ CFLAGS="$cet_save_CFLAGS"
;;
*)
may_have_cet=no
;;
esac
-save_CFLAGS="$CFLAGS"
+cet_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fcf-protection=none"
-save_LDFLAGS="$LDFLAGS"
+cet_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -Wl,-z,ibt,-z,shstk"
if test x$may_have_cet = xyes; then
# Check whether -fcf-protection=none -Wl,-z,ibt,-z,shstk work.
else
AC_MSG_RESULT([no])
fi
-CFLAGS="$save_CFLAGS"
-LDFLAGS="$save_LDFLAGS"
+CFLAGS="$cet_save_CFLAGS"
+LDFLAGS="$cet_save_LDFLAGS"
])