Skip to content

Commit

Permalink
Kbuild: change CC_OPTIMIZE_FOR_SIZE definition
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
  • Loading branch information
arndb authored and Michal Marek committed May 10, 2016
1 parent 51193b7 commit 877417e
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions init/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -1291,6 +1302,8 @@ config CC_OPTIMIZE_FOR_SIZE

If unsure, say N.

endchoice

config SYSCTL
bool

Expand Down

0 comments on commit 877417e

Please sign in to comment.