lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 9a5cf902 16/17: Repeat '-fno-omit-frame-point


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 9a5cf902 16/17: Repeat '-fno-omit-frame-pointer' less often
Date: Sat, 2 Jul 2022 21:42:15 -0400 (EDT)

branch: master
commit 9a5cf90212182bb5a50752580f11c8c201a81bf1
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Repeat '-fno-omit-frame-pointer' less often
---
 compiler_clang.make | 17 +++++++++++------
 compiler_gcc.make   | 20 +++++++++++---------
 2 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/compiler_clang.make b/compiler_clang.make
index 17f4b469..2f5c010a 100644
--- a/compiler_clang.make
+++ b/compiler_clang.make
@@ -94,17 +94,22 @@ ubsan_options := \
 
 debug_flag := -ggdb
 
-# Apparently '-fomit-frame-pointer' is a clang default. Turn it off.
+# '-fomit-frame-pointer' is an infelicitous default. Turn it off,
+# as it makes debugging difficult and has no measurable benefit.
+
+analyzer_flag :=
+optimization_flag := -fno-omit-frame-pointer
 
 ifeq (gprof,$(build_type))
-  optimization_flag := -O0 -fno-omit-frame-pointer
-  analyzer_flag := -pg
+  analyzer_flag += -pg
+  optimization_flag += -O0
 else ifeq (ubsan,$(build_type))
-  analyzer_flag := $(ubsan_options) -O3 -fno-omit-frame-pointer
+  analyzer_flag += $(ubsan_options)
+  optimization_flag += -O3
 else ifeq (safestdlib,$(build_type))
-  optimization_flag := -O0 -fno-omit-frame-pointer
+  optimization_flag += -O0
 else
-  optimization_flag := -O2 -fno-omit-frame-pointer
+  optimization_flag += -O2
 endif
 
 # Compiler-and-linker flags.
diff --git a/compiler_gcc.make b/compiler_gcc.make
index 4cfab8bd..7d61068d 100644
--- a/compiler_gcc.make
+++ b/compiler_gcc.make
@@ -112,20 +112,22 @@ ubsan_options := \
 
 debug_flag := -ggdb
 
-# 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
+# '-fomit-frame-pointer' is an infelicitous default. Turn it off,
+# as it makes debugging difficult and has no measurable benefit.
+
+analyzer_flag :=
+optimization_flag := -fno-omit-frame-pointer
 
 ifeq (gprof,$(build_type))
-  optimization_flag := -O0 -fno-omit-frame-pointer
-  analyzer_flag := -pg
+  analyzer_flag += -pg
+  optimization_flag += -O0
 else ifeq (ubsan,$(build_type))
-  analyzer_flag := $(ubsan_options) -O3 -fno-omit-frame-pointer
+  analyzer_flag += $(ubsan_options)
+  optimization_flag += -O3
 else ifeq (safestdlib,$(build_type))
-  optimization_flag := -O0 -fno-omit-frame-pointer
+  optimization_flag += -O0
 else
-  optimization_flag := -O2 -fno-omit-frame-pointer
+  optimization_flag += -O2
 endif
 
 # Historical workarounds for product-file-generating binaries.



reply via email to

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