aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-12-14 21:52:21 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-12-14 21:52:21 -0500
commitc45b4f1f1e149c023762ac4be166ead1818cefef (patch)
tree21567145e12d3bcdba586b864dca74699830d621
parent11c18b5cb31d15a782fb727adad51ae1434e5dee (diff)
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>
-rw-r--r--init/Kconfig26
1 files changed, 14 insertions, 12 deletions
diff --git a/init/Kconfig b/init/Kconfig
index be74adb389ea..6c5dbedc6e96 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -256,6 +256,20 @@ config CPUSETS
256 256
257source "usr/Kconfig" 257source "usr/Kconfig"
258 258
259config CC_OPTIMIZE_FOR_SIZE
260 bool "Optimize for size (Look out for broken compilers!)"
261 default y
262 depends on ARM || H8300 || EXPERIMENTAL
263 depends on !SPARC64
264 help
265 Enabling this option will pass "-Os" instead of "-O2" to gcc
266 resulting in a smaller kernel.
267
268 WARNING: some versions of gcc may generate incorrect code with this
269 option. If problems are observed, a gcc upgrade may be needed.
270
271 If unsure, say N.
272
259menuconfig EMBEDDED 273menuconfig EMBEDDED
260 bool "Configure standard kernel features (for small systems)" 274 bool "Configure standard kernel features (for small systems)"
261 help 275 help
@@ -338,18 +352,6 @@ config EPOLL
338 Disabling this option will cause the kernel to be built without 352 Disabling this option will cause the kernel to be built without
339 support for epoll family of system calls. 353 support for epoll family of system calls.
340 354
341config CC_OPTIMIZE_FOR_SIZE
342 bool "Optimize for size"
343 default y if ARM || H8300
344 help
345 Enabling this option will pass "-Os" instead of "-O2" to gcc
346 resulting in a smaller kernel.
347
348 WARNING: some versions of gcc may generate incorrect code with this
349 option. If problems are observed, a gcc upgrade may be needed.
350
351 If unsure, say N.
352
353config SHMEM 355config SHMEM
354 bool "Use full shmem filesystem" if EMBEDDED 356 bool "Use full shmem filesystem" if EMBEDDED
355 default y 357 default y