Austin English : configure: Use -fno-omit-frame-pointer when available.

Alexandre Julliard julliard at winehq.org
Wed Oct 19 14:05:24 CDT 2011


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

Author: Austin English <austinenglish at gmail.com>
Date:   Tue Oct 18 12:17:37 2011 -0700

configure: Use -fno-omit-frame-pointer when available.

---

 configure    |   28 ++++++++++++++++++++++++++++
 configure.ac |    5 +++++
 2 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/configure b/configure
index 7325264..138fa8d 100755
--- a/configure
+++ b/configure
@@ -12014,6 +12014,34 @@ if test $ac_cv_cflags__Wwrite_strings = yes; then :
   EXTRACFLAGS="$EXTRACFLAGS -Wwrite-strings"
 fi
 
+    case $host_cpu in
+    *i[3456789]86*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fno-omit-frame-pointer" >&5
+$as_echo_n "checking whether the compiler supports -fno-omit-frame-pointer... " >&6; }
+if ${ac_cv_cflags__fno_omit_frame_pointer+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_wine_try_cflags_saved=$CFLAGS
+CFLAGS="$CFLAGS -fno-omit-frame-pointer"
+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__fno_omit_frame_pointer=yes
+else
+  ac_cv_cflags__fno_omit_frame_pointer=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__fno_omit_frame_pointer" >&5
+$as_echo "$ac_cv_cflags__fno_omit_frame_pointer" >&6; }
+if test $ac_cv_cflags__fno_omit_frame_pointer = yes; then :
+  EXTRACFLAGS="$EXTRACFLAGS -fno-omit-frame-pointer"
+fi ;;
+  esac
+
     saved_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -Wpointer-arith -Werror"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken string.h that generates warnings with -Wpointer-arith" >&5
diff --git a/configure.ac b/configure.ac
index 5a9fd2b..363d08f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1684,6 +1684,11 @@ then
   WINE_TRY_CFLAGS([-Wunused-but-set-parameter])
   WINE_TRY_CFLAGS([-Wwrite-strings])
 
+  dnl gcc-4.6+ omits frame pointers by default, breaking some copy protections
+  case $host_cpu in
+    *i[[3456789]]86*) WINE_TRY_CFLAGS([-fno-omit-frame-pointer]) ;;
+  esac
+
   dnl Check for noisy string.h
   saved_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -Wpointer-arith -Werror"




More information about the wine-cvs mailing list