Re: [2.6 patch] offer CC_OPTIMIZE_FOR_SIZE only if EXPERIMENTAL

From: Linus Torvalds
Date: Wed Dec 14 2005 - 17:39:34 EST




On Wed, 14 Dec 2005, Adrian Bunk wrote:
>
> What about marking it as EXPERIMENTAL?

It's not experimental on other architectures, where it is always used.

The best option _may_ be to do something like this, where we use that
"depends on" to set the expectations, and people shouldn't see it unless
they ask for EXPERIMENTAL.

It also refuses to turn on for SPARC64, since that seems to be known
broken. Or should it be just "SPARC"? Davem?

Linus

---
diff --git a/init/Kconfig b/init/Kconfig
index be74adb..6c5dbed 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/