From a396b12972c061a8b1d1c4cf0bb63f311e0a34e7 Mon Sep 17 00:00:00 2001 From: Xavier Roche Date: Sat, 14 Jan 2023 15:19:12 +0100 Subject: Add support for -fcf-protection --- configure | 35 +++++++++++++++++++++++++++++++++++ configure.ac | 1 + 2 files changed, 36 insertions(+) diff --git a/configure b/configure index 88113e3..495fc76 100755 --- a/configure +++ b/configure @@ -13699,6 +13699,41 @@ else : fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fcf-protection" >&5 +$as_echo_n "checking whether C compiler accepts -fcf-protection... " >&6; } +if ${ax_cv_check_cflags___fcf_protection+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fcf-protection" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___fcf_protection=yes +else + ax_cv_check_cflags___fcf_protection=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fcf_protection" >&5 +$as_echo "$ax_cv_check_cflags___fcf_protection" >&6; } +if test "x$ax_cv_check_cflags___fcf_protection" = xyes; then : + DEFAULT_CFLAGS="$DEFAULT_CFLAGS -fcf-protection" +else + : +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--discard-all" >&5 $as_echo_n "checking whether the linker accepts -Wl,--discard-all... " >&6; } if ${ax_cv_check_ldflags___Wl___discard_all+:} false; then : diff --git a/configure.ac b/configure.ac index d6c1786..c706eef 100644 --- a/configure.ac +++ b/configure.ac @@ -76,6 +76,7 @@ AX_CHECK_COMPILE_FLAG([-Wignored-qualifiers], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS - AX_CHECK_COMPILE_FLAG([-fstrict-aliasing -Wstrict-aliasing], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -fstrict-aliasing -Wstrict-aliasing"]) AX_CHECK_COMPILE_FLAG([-fstack-protector], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -fstack-protector"]) AX_CHECK_COMPILE_FLAG([-fstack-clash-protection], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -fstack-clash-protection"]) +AX_CHECK_COMPILE_FLAG([-fcf-protection], [DEFAULT_CFLAGS="$DEFAULT_CFLAGS -fcf-protection"]) AX_CHECK_LINK_FLAG([-Wl,--discard-all], [DEFAULT_LDFLAGS="$DEFAULT_LDFLAGS -Wl,--discard-all"]) AX_CHECK_LINK_FLAG([-Wl,--no-undefined], [DEFAULT_LDFLAGS="$DEFAULT_LDFLAGS -Wl,--no-undefined"]) AX_CHECK_LINK_FLAG([-Wl,-z,relro,-z,now], [DEFAULT_LDFLAGS="$DEFAULT_LDFLAGS -Wl,-z,relro,-z,now"]) -- cgit v1.2.3