diff options
author | Arnd Bergmann <arnd@arndb.de> | 2016-04-25 17:35:27 +0200 |
---|---|---|
committer | Michal Marek <mmarek@suse.com> | 2016-05-10 17:12:48 +0200 |
commit | 877417e6ffb9578e8580abf76a71e15732473456 (patch) | |
tree | 607b51ebf3c00b83f5c89777e7cfd0f46349605a /init | |
parent | 51193b76bfff5027cf96ba63effae808ad67cca7 (diff) | |
download | lwn-877417e6ffb9578e8580abf76a71e15732473456.tar.gz lwn-877417e6ffb9578e8580abf76a71e15732473456.zip |
Kbuild: change CC_OPTIMIZE_FOR_SIZE definition
CC_OPTIMIZE_FOR_SIZE disables the often useful -Wmaybe-unused warning,
because that causes a ridiculous amount of false positives when combined
with -Os.
This means a lot of warnings don't show up in testing by the developers
that should see them with an 'allmodconfig' kernel that has
CC_OPTIMIZE_FOR_SIZE enabled, but only later in randconfig builds
that don't.
This changes the Kconfig logic around CC_OPTIMIZE_FOR_SIZE to make
it a 'choice' statement defaulting to CC_OPTIMIZE_FOR_PERFORMANCE
that gets added for this purpose. The allmodconfig and allyesconfig
kernels now default to -O2 with the maybe-unused warning enabled.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Michal Marek <mmarek@suse.com>
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig index 29d74d3f8044..f224dae6e37d 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1283,6 +1283,17 @@ source "usr/Kconfig" endif +choice + prompt "Compiler optimization level" + default CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE + +config 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 CC_OPTIMIZE_FOR_SIZE bool "Optimize for size" help @@ -1291,6 +1302,8 @@ config CC_OPTIMIZE_FOR_SIZE If unsure, say N. +endchoice + config SYSCTL bool |