Reinstate DEBUG_PESSIMIZE (by Christian Ionescu-Idbohrn)
authorDenis Vlasenko <vda.linux@googlemail.com>
Thu, 12 Jun 2008 20:23:03 +0000 (20:23 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Thu, 12 Jun 2008 20:23:03 +0000 (20:23 -0000)
Config.in
Makefile.flags

index 3b374967b5b3d650b49f333048f1ae70d3055388..0a7edf84c28fbd63b26e1e1febc6ecfa3a76539d 100644 (file)
--- 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
index e9405476ba681dc71ddea4d073f83e698b4e1be9..0ffc05c3555f279a257185e5deb7da510dd48435 100644 (file)
@@ -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)...