diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-12-14 21:52:21 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-12-14 21:52:21 -0500 |
commit | c45b4f1f1e149c023762ac4be166ead1818cefef (patch) | |
tree | 21567145e12d3bcdba586b864dca74699830d621 /init/Kconfig | |
parent | 11c18b5cb31d15a782fb727adad51ae1434e5dee (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>
Diffstat (limited to 'init/Kconfig')
-rw-r--r-- | init/Kconfig | 26 |
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 | ||
257 | source "usr/Kconfig" | 257 | source "usr/Kconfig" |
258 | 258 | ||
259 | config 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 | |||
259 | menuconfig EMBEDDED | 273 | menuconfig 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 | ||
341 | config 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 | |||
353 | config SHMEM | 355 | config SHMEM |
354 | bool "Use full shmem filesystem" if EMBEDDED | 356 | bool "Use full shmem filesystem" if EMBEDDED |
355 | default y | 357 | default y |