lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] (no subject)


From: Greg Chicares
Subject: [lmi-commits] (no subject)
Date: Wed, 6 Jul 2016 23:22:36 +0000 (UTC)

branch: master
commit 50b1e9d154014e2f75881cfcce0c4b097dfd0337
Author: Gregory W. Chicares <address@hidden>
Date:   Wed Jul 6 22:50:11 2016 +0000

    Reenable frame pointer for MinGW-w64 gcc
    
    Specify '-fno-omit-frame-pointer' to override the MinGW-w64 default,
    because that toolchain default prevents useful backtraces. See:
      https://lists.gnu.org/archive/html/lmi/2016-06/msg00091.html
      https://lists.gnu.org/archive/html/lmi/2016-07/msg00008.html
---
 install_wx.make       |    4 ++--
 install_wxpdfdoc.make |    4 ++--
 workhorse.make        |   15 ++++++++++-----
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/install_wx.make b/install_wx.make
index 41d7ffa..9d495b6 100644
--- a/install_wx.make
+++ b/install_wx.make
@@ -99,8 +99,8 @@ build_dir      := $(wx_dir)/wxWidgets-$(wx_version)/$(vendor)
 # Pass gcc options in $CC and $CXX, not $*FLAGS--explanation here:
 #   http://lists.nongnu.org/archive/html/lmi/2013-07/msg00001.html
 
-wx_cc_flags    :=
-wx_cxx_flags   := -std=c++11
+wx_cc_flags    := -fno-omit-frame-pointer
+wx_cxx_flags   := -fno-omit-frame-pointer -std=c++11
 
 config_options = \
   --prefix=$(prefix) \
diff --git a/install_wxpdfdoc.make b/install_wxpdfdoc.make
index 834d600..30528ed 100644
--- a/install_wxpdfdoc.make
+++ b/install_wxpdfdoc.make
@@ -54,8 +54,8 @@ triplet_prefix :=
 
 compiler       := gcc-$(shell $(mingw_bin_dir)/$(triplet_prefix)gcc 
-dumpversion)
 
-wx_cc_flags    :=
-wx_cxx_flags   := -std=c++11
+wx_cc_flags    := -fno-omit-frame-pointer
+wx_cxx_flags   := -fno-omit-frame-pointer -std=c++11
 
 config_options = \
   --prefix=$(prefix) \
diff --git a/workhorse.make b/workhorse.make
index e6d3d77..7186a06 100644
--- a/workhorse.make
+++ b/workhorse.make
@@ -565,15 +565,20 @@ every_libstdcxx_warning_macro := \
 
 test_targets := unit_tests cgi_tests cli_tests
 
+# Since gcc version 4.6, '-fomit-frame-pointer' has apparently been
+# the default. Don't use that because it makes debugging difficult.
+# See:
+#   https://lists.gnu.org/archive/html/lmi/2016-06/msg00091.html
+
 ifeq (gprof,$(findstring gprof,$(build_type)))
-  optimization_flag := -O0
+  optimization_flag := -O0 -fno-omit-frame-pointer
   gprof_flag := -pg
 else
   ifeq (safestdlib,$(findstring safestdlib,$(build_type)))
-    optimization_flag := -O0
+    optimization_flag := -O0 -fno-omit-frame-pointer
     libstdcxx_warning_macros := $(every_libstdcxx_warning_macro)
   else
-    optimization_flag := -O2
+    optimization_flag := -O2 -fno-omit-frame-pointer
   endif
 endif
 
@@ -592,13 +597,13 @@ endif
 
 my_unoptimizable_files := my_db.o my_fund.o my_prod.o my_rnd.o my_tier.o
 
-$(my_unoptimizable_files): optimization_flag := -O0
+$(my_unoptimizable_files): optimization_flag := -O0 -fno-omit-frame-pointer
 
 # Blocking optimization in default $(CXXFLAGS) isn't enough, because
 # it is too easily overridden by specifying $(CXXFLAGS) on the command
 # line. This flag overrides such overrides:
 
-$(my_unoptimizable_files): tutelary_flag := -O0
+$(my_unoptimizable_files): tutelary_flag := -O0 -fno-omit-frame-pointer
 
 
################################################################################
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]