Move size optimization option outside of EMBEDDED menu, mark it EXPERIMENTAL

Also, disable on sparc64 - a number of people report breakage.  Probably
a compiler bug, but it's quite possible that it tickles some latent
kernel problem too.

It still defaults to 'y' everywhere else (when enabled through
EXPERIMENTAL), and Dave Jones points out that Fedora (and RHEL4) has
been building with size optimizations for a long time on x86, x86-64,
ia64, s390, s390x, ppc32 and ppc64.  So it is really only moderately
experimental, but the sparc64 breakage certainly shows that it can
trigger "issues".

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Linus Torvalds 2005-12-14 18:52:21 -08:00
parent 11c18b5cb3
commit c45b4f1f1e

View file

@ -256,6 +256,20 @@ config CPUSETS
source "usr/Kconfig" source "usr/Kconfig"
config CC_OPTIMIZE_FOR_SIZE
bool "Optimize for size (Look out for broken compilers!)"
default y
depends on ARM || H8300 || EXPERIMENTAL
depends on !SPARC64
help
Enabling this option will pass "-Os" instead of "-O2" to gcc
resulting in a smaller kernel.
WARNING: some versions of gcc may generate incorrect code with this
option. If problems are observed, a gcc upgrade may be needed.
If unsure, say N.
menuconfig EMBEDDED menuconfig EMBEDDED
bool "Configure standard kernel features (for small systems)" bool "Configure standard kernel features (for small systems)"
help help
@ -338,18 +352,6 @@ config EPOLL
Disabling this option will cause the kernel to be built without Disabling this option will cause the kernel to be built without
support for epoll family of system calls. support for epoll family of system calls.
config CC_OPTIMIZE_FOR_SIZE
bool "Optimize for size"
default y if ARM || H8300
help
Enabling this option will pass "-Os" instead of "-O2" to gcc
resulting in a smaller kernel.
WARNING: some versions of gcc may generate incorrect code with this
option. If problems are observed, a gcc upgrade may be needed.
If unsure, say N.
config SHMEM config SHMEM
bool "Use full shmem filesystem" if EMBEDDED bool "Use full shmem filesystem" if EMBEDDED
default y default y