From 6f4e700acd737903c12fee0f0790f84c39a28a19 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 22 Sep 2009 18:00:35 +0000
Subject: [PATCH] when using -O2 instead of -Os, get rid of the two
 optimizations that are causing most of the extra bloat. brings kernel size
 close to the -Os size again

SVN-Revision: 17679
---
 .../patches-2.6.28/004-extra_optimization.patch          | 9 +++++++++
 .../patches-2.6.30/004-extra_optimization.patch          | 9 +++++++++
 .../patches-2.6.31/004-extra_optimization.patch          | 9 +++++++++
 3 files changed, 27 insertions(+)

diff --git a/target/linux/generic-2.6/patches-2.6.28/004-extra_optimization.patch b/target/linux/generic-2.6/patches-2.6.28/004-extra_optimization.patch
index d6866899c3..8827ed0c3d 100644
--- a/target/linux/generic-2.6/patches-2.6.28/004-extra_optimization.patch
+++ b/target/linux/generic-2.6/patches-2.6.28/004-extra_optimization.patch
@@ -1,5 +1,14 @@
 --- a/Makefile
 +++ b/Makefile
+@@ -512,7 +512,7 @@ all: vmlinux
+ ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+ KBUILD_CFLAGS	+= -Os
+ else
+-KBUILD_CFLAGS	+= -O2
++KBUILD_CFLAGS	+= -O2 -fno-reorder-blocks -fno-tree-ch
+ endif
+ 
+ include $(srctree)/arch/$(SRCARCH)/Makefile
 @@ -549,6 +549,9 @@ endif
  NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
  CHECKFLAGS     += $(NOSTDINC_FLAGS)
diff --git a/target/linux/generic-2.6/patches-2.6.30/004-extra_optimization.patch b/target/linux/generic-2.6/patches-2.6.30/004-extra_optimization.patch
index 018e673e20..0b5174cbbd 100644
--- a/target/linux/generic-2.6/patches-2.6.30/004-extra_optimization.patch
+++ b/target/linux/generic-2.6/patches-2.6.30/004-extra_optimization.patch
@@ -1,5 +1,14 @@
 --- a/Makefile
 +++ b/Makefile
+@@ -529,7 +529,7 @@ all: vmlinux
+ ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+ KBUILD_CFLAGS	+= -Os
+ else
+-KBUILD_CFLAGS	+= -O2
++KBUILD_CFLAGS	+= -O2 -fno-reorder-blocks -fno-tree-ch
+ endif
+ 
+ include $(srctree)/arch/$(SRCARCH)/Makefile
 @@ -567,6 +567,9 @@ endif
  NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
  CHECKFLAGS     += $(NOSTDINC_FLAGS)
diff --git a/target/linux/generic-2.6/patches-2.6.31/004-extra_optimization.patch b/target/linux/generic-2.6/patches-2.6.31/004-extra_optimization.patch
index 333acb612b..e0ba51598e 100644
--- a/target/linux/generic-2.6/patches-2.6.31/004-extra_optimization.patch
+++ b/target/linux/generic-2.6/patches-2.6.31/004-extra_optimization.patch
@@ -1,5 +1,14 @@
 --- a/Makefile
 +++ b/Makefile
+@@ -521,7 +521,7 @@ all: vmlinux
+ ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+ KBUILD_CFLAGS	+= -Os
+ else
+-KBUILD_CFLAGS	+= -O2
++KBUILD_CFLAGS	+= -O2 -fno-reorder-blocks -fno-tree-ch
+ endif
+ 
+ include $(srctree)/arch/$(SRCARCH)/Makefile
 @@ -559,6 +559,9 @@ endif
  NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
  CHECKFLAGS     += $(NOSTDINC_FLAGS)
-- 
GitLab