configure.ac 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
  2. # Local configure fragment for sysdeps/x86.
  3. if test x"$enable_cet" = xyes; then
  4. # Check if CET can be enabled.
  5. AC_CACHE_CHECK(whether CET can be enabled,
  6. libc_cv_x86_cet_available, [dnl
  7. cat > conftest.c <<EOF
  8. #if !defined __CET__ || __CET__ != 3
  9. # error CET isn't available.
  10. #endif
  11. EOF
  12. if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS -fcf-protection -include cet.h conftest.c 1>&AS_MESSAGE_LOG_FD); then
  13. libc_cv_x86_cet_available=yes
  14. else
  15. libc_cv_x86_cet_available=no
  16. fi
  17. rm -rf conftest*])
  18. if test $libc_cv_x86_cet_available = yes; then
  19. enable_cet=yes
  20. else
  21. if test x"$enable_cet" = xdefault; then
  22. enable_cet=no
  23. else
  24. AC_MSG_ERROR([$CC doesn't support CET])
  25. fi
  26. fi
  27. fi
  28. if test $enable_cet = yes; then
  29. # Check if assembler supports CET.
  30. AC_CACHE_CHECK(whether $AS supports CET,
  31. libc_cv_x86_cet_as, [dnl
  32. cat > conftest.s <<EOF
  33. incsspd %ecx
  34. EOF
  35. if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s -o conftest.o 1>&AS_MESSAGE_LOG_FD); then
  36. libc_cv_x86_cet_as=yes
  37. else
  38. libc_cv_x86_cet_as=no
  39. fi
  40. rm -rf conftest*])
  41. if test $libc_cv_x86_cet_as = no; then
  42. AC_MSG_ERROR([$AS doesn't support CET])
  43. fi
  44. fi
  45. LIBC_CONFIG_VAR([enable-cet], [$enable_cet])