summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2014-04-22 17:06:43 -0700
committerIsaac Christensen <isaac.christensen@se-eng.com>2014-10-02 21:37:01 +0200
commit55cdc160bbe1827e8ab1a2370ab1ebb0162e9768 (patch)
tree68ba7e486e088d09a825a28e985d98712cdea19a
parentdaecc449ca1708a2412df6cd394e299ede36bfe2 (diff)
downloadcoreboot-55cdc160bbe1827e8ab1a2370ab1ebb0162e9768.tar.gz
coreboot-55cdc160bbe1827e8ab1a2370ab1ebb0162e9768.tar.bz2
coreboot-55cdc160bbe1827e8ab1a2370ab1ebb0162e9768.zip
Provide a way to compile some files with -O0 option
When preparing an image for source level debugging, it is convenient to be able to compile some modules with -O0, which makes it much easier to follow the execution flow. This patch allows to do it by defining GDB_DEBUG=1 in the environment before invoking make. Adding this feature as a common config flag is problematic, because we don't want to compile the entire image with -O0. Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/196359 (cherry picked from commit dde4928c045d12e502cb109015a710cd9fdf2a04) Changed from CFLAGS to CFLAGS_common. Change-Id: Ie0be653509509eeb64ea3a7229f54c0c812840a9 Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com> Reviewed-on: http://review.coreboot.org/7005 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r--Makefile.inc8
1 files changed, 7 insertions, 1 deletions
diff --git a/Makefile.inc b/Makefile.inc
index d307c60dec92..8e9605770f46 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -218,7 +218,7 @@ CPPFLAGS_common := -Isrc -Isrc/include -I$(obj)
CPPFLAGS_common += -Isrc/device/oprom/include
CPPFLAGS_common += -include $(src)/include/kconfig.h
-CFLAGS_common += -Os -pipe -g -nostdinc
+CFLAGS_common += -pipe -g -nostdinc
CFLAGS_common += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
CFLAGS_common += -Wwrite-strings -Wredundant-decls -Wno-trigraphs
CFLAGS_common += -Wstrict-aliasing -Wshadow
@@ -226,6 +226,12 @@ ifeq ($(CONFIG_WARNINGS_ARE_ERRORS),y)
CFLAGS_common += -Werror
endif
CFLAGS_common += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer
+ifneq ($(GDB_DEBUG),)
+CFLAGS_common += -O0
+else
+CFLAGS_common += -Os
+endif
+
additional-dirs := $(objutil)/cbfstool $(objutil)/romcc $(objutil)/ifdtool \
$(objutil)/ifdfake $(objutil)/options $(objutil)/fletcher \