Alexandre Julliard : configure: Disable Fortify if it's enabled by default, it's too broken.

Alexandre Julliard julliard at winehq.org
Fri Oct 22 12:30:48 CDT 2010


Module: wine
Branch: master
Commit: 105793bff75f6a869bd9ccfb390b2f88fa861235
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=105793bff75f6a869bd9ccfb390b2f88fa861235

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Oct 22 17:13:57 2010 +0200

configure: Disable Fortify if it's enabled by default, it's too broken.

---

 configure    |   90 +++++++++++++++++++++------------------------------------
 configure.ac |   24 ++++++++-------
 2 files changed, 46 insertions(+), 68 deletions(-)

diff --git a/configure b/configure
index 122e443..5de5f5c 100755
--- a/configure
+++ b/configure
@@ -12061,63 +12061,6 @@ $as_echo "$ac_cv_c_string_h_warnings" >&6; }
     EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
   fi
 
-    saved_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -Werror"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken unused result warnings" >&5
-$as_echo_n "checking for broken unused result warnings... " >&6; }
-if test "${ac_cv_c_unused_result_warnings+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <unistd.h>
-int
-main ()
-{
-write(2,"a",1)
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_unused_result_warnings=no
-else
-  ac_cv_c_unused_result_warnings=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_unused_result_warnings" >&5
-$as_echo "$ac_cv_c_unused_result_warnings" >&6; }
-  CFLAGS="$saved_CFLAGS"
-  if test "$ac_cv_c_unused_result_warnings" = "yes"
-  then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wno-unused-result" >&5
-$as_echo_n "checking whether the compiler supports -Wno-unused-result... " >&6; }
-if test "${ac_cv_cflags__Wno_unused_result+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_wine_try_cflags_saved=$CFLAGS
-CFLAGS="$CFLAGS -Wno-unused-result"
-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__Wno_unused_result=yes
-else
-  ac_cv_cflags__Wno_unused_result=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__Wno_unused_result" >&5
-$as_echo "$ac_cv_cflags__Wno_unused_result" >&6; }
-if test $ac_cv_cflags__Wno_unused_result = yes; then :
-  EXTRACFLAGS="$EXTRACFLAGS -Wno-unused-result"
-fi
-  fi
-
     if test "x$enable_maintainer_mode" = "xyes"
   then
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Werror" >&5
@@ -12187,6 +12130,39 @@ $as_echo "#define DECLSPEC_HOTPATCH __attribute__((__ms_hook_prologue__))" >>con
 fi
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the need to disable Fortify" >&5
+$as_echo_n "checking for the need to disable Fortify... " >&6; }
+if test "${ac_cv_c_fortify_enabled+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+int
+main ()
+{
+#if defined(__USE_FORTIFY_LEVEL) && __USE_FORTIFY_LEVEL > 0
+#error Fortify enabled
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_fortify_enabled=no
+else
+  ac_cv_c_fortify_enabled=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_fortify_enabled" >&5
+$as_echo "$ac_cv_c_fortify_enabled" >&6; }
+if test "$ac_cv_c_fortify_enabled" = yes
+then
+    EXTRACFLAGS="$EXTRACFLAGS -D_FORTIFY_SOURCE=0"
+fi
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether external symbols need an underscore prefix" >&5
 $as_echo_n "checking whether external symbols need an underscore prefix... " >&6; }
 if test "${ac_cv_c_extern_prefix+set}" = set; then :
diff --git a/configure.ac b/configure.ac
index a13fc92..9a84cf3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1658,17 +1658,6 @@ then
     EXTRACFLAGS="$EXTRACFLAGS -Wpointer-arith"
   fi
 
-  dnl Fortify enables unused result warnings on a gazillion functions, making it useless
-  saved_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -Werror"
-  AC_CACHE_CHECK([for broken unused result warnings], ac_cv_c_unused_result_warnings,
-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[write(2,"a",1)]])],[ac_cv_c_unused_result_warnings=no],[ac_cv_c_unused_result_warnings=yes]))
-  CFLAGS="$saved_CFLAGS"
-  if test "$ac_cv_c_unused_result_warnings" = "yes"
-  then
-    WINE_TRY_CFLAGS([-Wno-unused-result])
-  fi
-
   dnl Enable -Werror for maintainer mode
   if test "x$enable_maintainer_mode" = "xyes"
   then
@@ -1691,6 +1680,19 @@ then
   fi
 fi
 
+dnl **** Disable Fortify, it has too many false positives
+
+AC_CACHE_CHECK([for the need to disable Fortify], ac_cv_c_fortify_enabled,
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],
+[[#if defined(__USE_FORTIFY_LEVEL) && __USE_FORTIFY_LEVEL > 0
+#error Fortify enabled
+#endif]])],
+        [ac_cv_c_fortify_enabled=no],[ac_cv_c_fortify_enabled=yes]))
+if test "$ac_cv_c_fortify_enabled" = yes
+then
+    EXTRACFLAGS="$EXTRACFLAGS -D_FORTIFY_SOURCE=0"
+fi
+
 dnl **** Check for underscore on external symbols ****
 
 AC_CACHE_CHECK([whether external symbols need an underscore prefix], ac_cv_c_extern_prefix,




More information about the wine-cvs mailing list