summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.m@jp.panasonic.com>2014-08-22 19:42:29 +0900
committerTom Rini <trini@ti.com>2014-08-28 17:18:48 -0400
commit4a8ed8e24886adf47086125f81307eaa8c358437 (patch)
tree4f3ed3773631da2b41bae0d3f5a4693435abbf3b
parenta6f47d2434f27e7c98dde811436912f0dd63a53e (diff)
downloadu-boot-odroid-c1-4a8ed8e24886adf47086125f81307eaa8c358437.tar.gz
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 <yamada.m@jp.panasonic.com>
-rw-r--r--Kconfig10
-rw-r--r--Makefile6
2 files changed, 15 insertions, 1 deletions
diff --git a/Kconfig b/Kconfig
index ea2c836115..cbb691e160 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 0fea5c2681..9646859083 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)"'