Alexandre Julliard : configure: Disable gcc control flow protection.
Alexandre Julliard
julliard at winehq.org
Mon Dec 9 16:57:36 CST 2019
Module: wine
Branch: master
Commit: cff35d4de1bbc7fb51a0f0317fbb138fdcf25f0d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=cff35d4de1bbc7fb51a0f0317fbb138fdcf25f0d
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Dec 6 10:40:00 2019 +0100
configure: Disable gcc control flow protection.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48161
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
configure | 27 ++++++++++++++++++++++++++-
configure.ac | 1 +
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 5dc6347ee1..8e5bee0501 100755
--- a/configure
+++ b/configure
@@ -16875,7 +16875,32 @@ $as_echo "$ac_cv_c_gcc_strength_bug" >&6; }
EXTRACFLAGS="$EXTRACFLAGS -fno-strength-reduce"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fno-strict-aliasing" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fcf-protection=none" >&5
+$as_echo_n "checking whether the compiler supports -fcf-protection=none... " >&6; }
+if ${ac_cv_cflags__fcf_protection_none+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_wine_try_cflags_saved=$CFLAGS
+CFLAGS="$CFLAGS -fcf-protection=none"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(int argc, char **argv) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_cflags__fcf_protection_none=yes
+else
+ ac_cv_cflags__fcf_protection_none=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+CFLAGS=$ac_wine_try_cflags_saved
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fcf_protection_none" >&5
+$as_echo "$ac_cv_cflags__fcf_protection_none" >&6; }
+if test "x$ac_cv_cflags__fcf_protection_none" = xyes; then :
+ EXTRACFLAGS="$EXTRACFLAGS -fcf-protection=none"
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fno-strict-aliasing" >&5
$as_echo_n "checking whether the compiler supports -fno-strict-aliasing... " >&6; }
if ${ac_cv_cflags__fno_strict_aliasing+:} false; then :
$as_echo_n "(cached) " >&6
diff --git a/configure.ac b/configure.ac
index b0ba094134..9b6bc2bc9f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2026,6 +2026,7 @@ then
fi
dnl Check for some compiler flags
+ WINE_TRY_CFLAGS([-fcf-protection=none])
WINE_TRY_CFLAGS([-fno-strict-aliasing])
WINE_TRY_CFLAGS([-fexcess-precision=standard],[AC_SUBST(EXCESS_PRECISION_CFLAGS,"-fexcess-precision=standard")])
dnl clang needs to be told to fail on unknown options
More information about the wine-cvs
mailing list