[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
################################################################################