From f95f964d048b3ef875962d4aacac5b725a25a7bf Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 23 Oct 2005 21:06:51 +0000
Subject: [PATCH] add -funit-at-a-time in trunk/ as well

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2291 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../generic/006-extra_optimization.patch      | 24 +++++++++++++++++++
 .../generic/004-extra_optimization.patch      | 12 ++++++++++
 toolchain/Config.in                           |  2 +-
 toolchain/Config.in.devel                     |  4 ++--
 4 files changed, 39 insertions(+), 3 deletions(-)
 create mode 100644 target/linux/linux-2.4/patches/generic/006-extra_optimization.patch
 create mode 100644 target/linux/linux-2.6/patches/generic/004-extra_optimization.patch

diff --git a/target/linux/linux-2.4/patches/generic/006-extra_optimization.patch b/target/linux/linux-2.4/patches/generic/006-extra_optimization.patch
new file mode 100644
index 000000000..5ae25cbfb
--- /dev/null
+++ b/target/linux/linux-2.4/patches/generic/006-extra_optimization.patch
@@ -0,0 +1,24 @@
+--- linux-2.4.30/Makefile	2005-10-23 20:52:56.813948000 +0200
++++ linux.dev/Makefile	2005-10-23 20:53:12.482927250 +0200
+@@ -89,6 +89,8 @@
+ # standard CFLAGS
+ #
+ 
++check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
++
+ CPPFLAGS := -D__KERNEL__ -I$(HPATH)
+ 
+ CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
+@@ -100,6 +102,12 @@
+ endif
+ AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)
+ 
++CFLAGS += $(call check_gcc, -funit-at-a-time,)
++
++
++
++
++
+ #
+ # ROOT_DEV specifies the default root-device when making the image.
+ # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
diff --git a/target/linux/linux-2.6/patches/generic/004-extra_optimization.patch b/target/linux/linux-2.6/patches/generic/004-extra_optimization.patch
new file mode 100644
index 000000000..805d2f0ea
--- /dev/null
+++ b/target/linux/linux-2.6/patches/generic/004-extra_optimization.patch
@@ -0,0 +1,12 @@
+--- linux-2.6.12.5/Makefile.old	2005-10-23 22:56:29.017270000 +0200
++++ linux-2.6.12.5/Makefile	2005-10-23 22:57:23.226138500 +0200
+@@ -533,6 +533,9 @@
+ NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
+ CHECKFLAGS     += $(NOSTDINC_FLAGS)
+ 
++# improve gcc optimization
++CFLAGS += $(call cc-option,-funit-at-a-time,)
++
+ # warn about C99 declaration after statement
+ CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
+ 
diff --git a/toolchain/Config.in b/toolchain/Config.in
index fd906f05f..67a331f04 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -24,5 +24,5 @@ config BR2_SOFT_FLOAT
 
 config BR2_TARGET_OPTIMIZATION
 	string
-	default "-Os -pipe -mips32 -mtune=mips32"
+	default "-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time"
 
diff --git a/toolchain/Config.in.devel b/toolchain/Config.in.devel
index c7ad48f7e..2f2bbc426 100644
--- a/toolchain/Config.in.devel
+++ b/toolchain/Config.in.devel
@@ -37,8 +37,8 @@ config BR2_SOFT_FLOAT
 
 config BR2_TARGET_OPTIMIZATION
 	string "Target Optimizations"
-	default "-Os -pipe -march=i486" if BR2_i386
-	default "-Os -pipe -mips32 -mtune=mips32" if BR2_mipsel
+	default "-Os -pipe -march=i486 -funit-at-a-time" if BR2_i386
+	default "-Os -pipe -mips32 -mtune=mips32  -funit-at-a-time" if BR2_mipsel
 	help
 	  Optimizations to use when building for the target host.
 
-- 
2.20.1