diff options
author | Mathias Kresin <dev@kresin.me> | 2018-07-09 20:48:56 +0200 |
---|---|---|
committer | Mathias Kresin <dev@kresin.me> | 2018-07-12 18:15:32 +0200 |
commit | cf7154db07c0b8746be290c9e11dcab3c91d237e (patch) | |
tree | 409a783abc61a0d6622e8f76d92bd9e97705d01c /config/Config-kernel.in | |
parent | 621fa91a8295b50dfdfac22290200064afaeec4e (diff) | |
download | upstream-cf7154db07c0b8746be290c9e11dcab3c91d237e.tar.gz upstream-cf7154db07c0b8746be290c9e11dcab3c91d237e.tar.bz2 upstream-cf7154db07c0b8746be290c9e11dcab3c91d237e.zip |
kernel: only optimized for size if small_flash
Add a new config option to allow to select the default compile
optimization level for the kernel.
Select the optimization for size by default if the small_flash feature is
set. Otherwise "Optimize for performance" is set.
Add the small_flash feature flag to all (sub)targets which had the
optimization for size in their default kernel config.
Remove CC_OPTIMIZE_FOR_* symbols from all kernel configs to apply the new
setting.
Exceptions to the above are:
- lantiq, where the optimization for size is only required for the
xway_legacy subtarget but was set for the whole target
- mediatek, ramips/mt7620 & ramips/mt76x8 where boards should have
plenty of space and an optimization for size doesn't make much sense
- rb532, which has 128MByte flash
Signed-off-by: Mathias Kresin <dev@kresin.me>
Diffstat (limited to 'config/Config-kernel.in')
-rw-r--r-- | config/Config-kernel.in | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/config/Config-kernel.in b/config/Config-kernel.in index d2d1909956..58f7d60094 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -806,3 +806,25 @@ config KERNEL_DEVKMEM Say Y here if you want to support the /dev/kmem device. The /dev/kmem device is rarely used, but can be used for certain kind of kernel debugging operations. + +# +# compile optimiziation setting +# +choice + prompt "Compiler optimization level" + default KERNEL_CC_OPTIMIZE_FOR_SIZE if SMALL_FLASH + +config KERNEL_CC_OPTIMIZE_FOR_PERFORMANCE + bool "Optimize for performance" + help + This is the default optimization level for the kernel, building + with the "-O2" compiler flag for best performance and most + helpful compile-time warnings. + +config KERNEL_CC_OPTIMIZE_FOR_SIZE + bool "Optimize for size" + help + Enabling this option will pass "-Os" instead of "-O2" to + your compiler resulting in a smaller kernel. + +endchoice |