* [2.6 patch] add a config option for -Os
@ 2003-08-25 22:47 Adrian Bunk
2003-08-26 14:41 ` Yoshinori Sato
0 siblings, 1 reply; 3+ messages in thread
From: Adrian Bunk @ 2003-08-25 22:47 UTC (permalink / raw)
To: linux-kernel; +Cc: spyro, linux-arm-kernel, Yoshinori Sato
The patch below adds a config option for compiling the kernel with -Os.
Compared to the last patch, the option moved to the embedded to the
General Setup menu and depends on EXPERIMENTAL instead of EMBEDDED
(retionale: it might even produce a faster kernel but it's less tested).
I removed the special cases in the arm, arm26 and h8300 Makefiles, users
on these architectures can now use OPTIMIZE_FOR_SIZE.
Compiling with this option enabled produced a working kernel for me on
i386.
cu
Adrian
--- linux-2.6.0-test4/init/Kconfig.old 2003-08-24 14:51:15.000000000 +0200
+++ linux-2.6.0-test4/init/Kconfig 2003-08-24 14:55:45.000000000 +0200
@@ -48,6 +48,15 @@
menu "General setup"
+config OPTIMIZE_FOR_SIZE
+ bool "Optimize for size" if EXPERIMENTAL
+ default n
+ help
+ Enabling this option will pass "-Os" instead of "-O2" to gcc
+ resulting in a smaller kernel.
+
+ If unsure, say N.
+
config SWAP
bool "Support for paging of anonymous memory"
depends on MMU
--- linux-2.6.0-test3/Makefile.old 2003-08-11 01:34:41.000000000 +0200
+++ linux-2.6.0-test3/Makefile 2003-08-11 01:37:16.000000000 +0200
@@ -223,7 +223,7 @@
NOSTDINC_FLAGS = -nostdinc -iwithprefix include
CPPFLAGS := -D__KERNEL__ -Iinclude
-CFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \
+CFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common
AFLAGS := -D__ASSEMBLY__
@@ -318,6 +318,12 @@
-include .config.cmd
+ifdef CONFIG_OPTIMIZE_FOR_SIZE
+CFLAGS += -Os
+else
+CFLAGS += -O2
+endif
+
ifndef CONFIG_FRAME_POINTER
CFLAGS += -fomit-frame-pointer
endif
--- linux-2.6.0-test4/arch/arm26/Makefile.old 2003-08-24 14:50:45.000000000 +0200
+++ linux-2.6.0-test4/arch/arm26/Makefile 2003-08-24 14:56:15.000000000 +0200
@@ -13,7 +13,6 @@
OBJCOPYFLAGS :=-O binary -R .note -R .comment -S
GZFLAGS :=-9
#CFLAGS +=-pipe
-CFLAGS :=$(CFLAGS:-O2=-Os)
ifeq ($(CONFIG_FRAME_POINTER),y)
CFLAGS +=-fno-omit-frame-pointer -mno-sched-prolog
--- linux-2.6.0-test4/arch/arm/Makefile.old 2003-08-24 14:56:41.000000000 +0200
+++ linux-2.6.0-test4/arch/arm/Makefile 2003-08-24 14:56:57.000000000 +0200
@@ -14,8 +14,6 @@
GZFLAGS :=-9
#CFLAGS +=-pipe
-CFLAGS :=$(CFLAGS:-O2=-Os)
-
ifeq ($(CONFIG_FRAME_POINTER),y)
CFLAGS +=-fno-omit-frame-pointer -mapcs -mno-sched-prolog
endif
--- linux-2.6.0-test4/arch/h8300/Makefile.old 2003-08-24 14:59:42.000000000 +0200
+++ linux-2.6.0-test4/arch/h8300/Makefile 2003-08-24 15:00:18.000000000 +0200
@@ -34,7 +34,7 @@
ldflags-$(CONFIG_CPU_H8S) := -mh8300self
CFLAGS += $(cflags-y)
-CFLAGS += -mint32 -fno-builtin -Os
+CFLAGS += -mint32 -fno-builtin
CFLAGS += -g
CFLAGS += -D__linux__
CFLAGS += -DUTS_SYSNAME=\"uClinux\"
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [2.6 patch] add a config option for -Os
2003-08-25 22:47 [2.6 patch] add a config option for -Os Adrian Bunk
@ 2003-08-26 14:41 ` Yoshinori Sato
2003-08-26 14:58 ` Valdis.Kletnieks
0 siblings, 1 reply; 3+ messages in thread
From: Yoshinori Sato @ 2003-08-26 14:41 UTC (permalink / raw)
To: Adrian Bunk; +Cc: linux kernel Mailing List
At Tue, 26 Aug 2003 00:47:17 +0200,
Adrian Bunk wrote:
>
> The patch below adds a config option for compiling the kernel with -Os.
>
> Compared to the last patch, the option moved to the embedded to the
> General Setup menu and depends on EXPERIMENTAL instead of EMBEDDED
> (retionale: it might even produce a faster kernel but it's less tested).
>
> I removed the special cases in the arm, arm26 and h8300 Makefiles, users
> on these architectures can now use OPTIMIZE_FOR_SIZE.
>
> Compiling with this option enabled produced a working kernel for me on
> i386.
>
An idea do not change -O2, and to add specification of -Os to with "OPTIMIZE_SIZE" ?
If there are a few the ones, degradation of speed means.
vmlinux size of h8300
-O2 -Os -O2&-Os
.text 561200 554368 555088
.data 59148 58612 58868
.bss 45244 45260 45244
total 665592 658240 659200
--
Yoshinori Sato
<ysato@users.sourceforge.jp>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-08-26 15:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-25 22:47 [2.6 patch] add a config option for -Os Adrian Bunk
2003-08-26 14:41 ` Yoshinori Sato
2003-08-26 14:58 ` Valdis.Kletnieks
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox