From bd8390a872ae42751ff441180017b2d3c76dbe03 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Thu, 12 Jun 2008 20:23:03 +0000 Subject: [PATCH] Reinstate DEBUG_PESSIMIZE (by Christian Ionescu-Idbohrn) --- Config.in | 23 +++++++++++------------ Makefile.flags | 13 ++++++++++--- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/Config.in b/Config.in index 3b374967b..0a7edf84c 100644 --- a/Config.in +++ b/Config.in @@ -396,6 +396,17 @@ config DEBUG Most people should answer N. +config DEBUG_PESSIMIZE + bool "Disable compiler optimizations." + default n + depends on DEBUG + help + The compiler's optimization of source code can eliminate and reorder + code, resulting in an executable that's hard to understand when + stepping through it with a debugger. This switches it off, resulting + in a much bigger executable that more closely matches the source + code. + config WERROR bool "Abort compilation on any warning" default n @@ -404,18 +415,6 @@ config WERROR Most people should answer N. -# Seems to be unused -#config DEBUG_PESSIMIZE -# bool "Disable compiler optimizations." -# default n -# depends on DEBUG -# help -# The compiler's optimization of source code can eliminate and reorder -# code, resulting in an executable that's hard to understand when -# stepping through it with a debugger. This switches it off, resulting -# in a much bigger executable that more closely matches the source -# code. - choice prompt "Additional debugging library" default NO_DEBUG_LIB diff --git a/Makefile.flags b/Makefile.flags index e9405476b..0ffc05c35 100644 --- a/Makefile.flags +++ b/Makefile.flags @@ -35,7 +35,7 @@ endif # gcc 3.x emits bogus "old style proto" warning on find.c:alloc_action() CFLAGS += $(call cc-ifversion, -ge, 0400, -Wold-style-definition) -CFLAGS += $(call cc-option,-Os -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections,) +CFLAGS += $(call cc-option,-fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections,) # -fno-guess-branch-probability: prohibit pseudo-random guessing # of branch probabilities (hopefully makes bloatcheck more stable): CFLAGS += $(call cc-option,-fno-guess-branch-probability,) @@ -46,8 +46,15 @@ CFLAGS += $(call cc-option,-falign-functions=1 -falign-jumps=1 -falign-labels=1 # be fixed.. #CFLAGS+=$(call cc-option,-Wconversion,) -ifeq ($(CONFIG_DEBUG),y) -CFLAGS += $(call cc-option,-g) +ifneq ($(CONFIG_DEBUG),y) +CFLAGS += $(call cc-option,-Os,) +else +CFLAGS += $(call cc-option,-g,) +ifeq ($(CONFIG_DEBUG_PESSIMIZE),y) +CFLAGS += $(call cc-option,-O0,) +else +CFLAGS += $(call cc-option,-Os,) +endif endif # If arch/$(ARCH)/Makefile did not override it (with, say, -fPIC)... -- 2.25.1