From 4a8ed8e24886adf47086125f81307eaa8c358437 Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Fri, 22 Aug 2014 19:42:29 +0900 Subject: [PATCH] kconfig: add CONFIG_CC_OPTIMIZE_FOR_SIZE Copy the Kconfig option from "init/Kconfig" of Linux v3.16 tag and adjust the help document. Signed-off-by: Masahiro Yamada --- Kconfig | 10 ++++++++++ Makefile | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Kconfig b/Kconfig index ea2c836..cbb691e 100644 --- a/Kconfig +++ b/Kconfig @@ -46,6 +46,16 @@ config LOCALVERSION_AUTO which is done within the script "scripts/setlocalversion".) +config CC_OPTIMIZE_FOR_SIZE + bool "Optimize for size" + depends on !SPL_BUILD + default y + help + Enabling this option will pass "-Os" instead of "-O2" to gcc + resulting in a smaller U-Boot image. + + This option is enabled by default for U-Boot. + endmenu # General setup menu "Boot images" diff --git a/Makefile b/Makefile index 0fea5c2..9646859 100644 --- a/Makefile +++ b/Makefile @@ -529,7 +529,11 @@ else include/config/auto.conf: ; endif # $(dot-config) -KBUILD_CFLAGS += -Os #-fomit-frame-pointer +ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE +KBUILD_CFLAGS += -Os +else +KBUILD_CFLAGS += -O2 +endif ifdef BUILD_TAG KBUILD_CFLAGS += -DBUILD_TAG='"$(BUILD_TAG)"'