From 105793bff75f6a869bd9ccfb390b2f88fa861235 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Fri, 22 Oct 2010 17:13:57 +0200 Subject: [PATCH] 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 122e443e5fd..5de5f5c9903 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 -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 +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 a13fc9243a2..9a84cf3f338 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 ]], [[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 ]], +[[#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,