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