Move size optimization option outside of EMBEDDED menu, mark it EXPERIMENTAL
Linus Torvalds [Thu, 15 Dec 2005 02:52:21 +0000 (18:52 -0800)]
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>

init/Kconfig

index be74adb..6c5dbed 100644 (file)
@@ -256,6 +256,20 @@ config CPUSETS
 
 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
        bool "Configure standard kernel features (for small systems)"
        help
@@ -338,18 +352,6 @@ config EPOLL
          Disabling this option will cause the kernel to be built without
          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
        bool "Use full shmem filesystem" if EMBEDDED
        default y