From 335877a2b3220b9b0a901fe7af038c04ca1a2e8b Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sat, 26 Mar 2011 01:07:12 +0000
Subject: [PATCH] global cflags: remove -funit-at-a-time, it is ignored by
 recent compilers. instead add -fno-caller-saves, which improves compression
 ratio for generated code with no apparent negative effects on performance

SVN-Revision: 26300
---
 include/target.mk              | 16 ++++++++--------
 target/linux/ar71xx/Makefile   |  2 +-
 target/linux/at91/Makefile     |  2 +-
 target/linux/cns21xx/Makefile  |  2 +-
 target/linux/cns3xxx/Makefile  |  2 +-
 target/linux/cobalt/Makefile   |  2 +-
 target/linux/ep93xx/Makefile   |  2 +-
 target/linux/gemini/Makefile   |  2 +-
 target/linux/goldfish/Makefile |  2 +-
 target/linux/imx21/Makefile    |  2 +-
 target/linux/lantiq/Makefile   |  2 +-
 target/linux/leon/Makefile     |  2 +-
 target/linux/malta/Makefile    |  2 +-
 target/linux/mpc52xx/Makefile  |  2 +-
 target/linux/mpc83xx/Makefile  |  2 +-
 target/linux/mpc85xx/Makefile  |  2 +-
 target/linux/octeon/Makefile   |  2 +-
 target/linux/orion/Makefile    |  2 +-
 target/linux/ppc40x/Makefile   |  2 +-
 target/linux/ppc44x/Makefile   |  2 +-
 target/linux/ramips/Makefile   |  2 +-
 target/linux/rdc/Makefile      |  2 +-
 target/linux/realview/Makefile |  2 +-
 target/linux/s3c24xx/Makefile  |  2 +-
 target/linux/sibyte/Makefile   |  2 +-
 25 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/include/target.mk b/include/target.mk
index ef5a65665c..e1f4dc6ca9 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -157,17 +157,17 @@ ifeq ($(DUMP),1)
     # remove duplicates
     FEATURES:=$(sort $(FEATURES))
   endif
-  DEFAULT_CFLAGS_i386=-O2 -pipe -march=i486 -funit-at-a-time
-  DEFAULT_CFLAGS_x86_64=-O2 -pipe -march=athlon64 -funit-at-a-time
-  DEFAULT_CFLAGS_m68k=-Os -pipe -mcfv4e -funit-at-a-time
-  DEFAULT_CFLAGS_mips=-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time
+  DEFAULT_CFLAGS_i386=-O2 -pipe -march=i486 -fno-caller-saves
+  DEFAULT_CFLAGS_x86_64=-O2 -pipe -march=athlon64 -fno-caller-saves
+  DEFAULT_CFLAGS_m68k=-Os -pipe -mcfv4e -fno-caller-saves
+  DEFAULT_CFLAGS_mips=-Os -pipe -mips32 -mtune=mips32 -fno-caller-saves
   DEFAULT_CFLAGS_mipsel=$(DEFAULT_CFLAGS_mips)
-  DEFAULT_CFLAGS_mips64=-Os -pipe -mips64 -mtune=mips64 -mabi=64 -funit-at-a-time
+  DEFAULT_CFLAGS_mips64=-Os -pipe -mips64 -mtune=mips64 -mabi=64 -fno-caller-saves
   DEFAULT_CFLAGS_mips64el=$(DEFAULT_CFLAGS_mips64)
-  DEFAULT_CFLAGS_sparc=-Os -pipe -mcpu=ultrasparc -funit-at-a-time
-  DEFAULT_CFLAGS_arm=-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time
+  DEFAULT_CFLAGS_sparc=-Os -pipe -mcpu=ultrasparc -fno-caller-saves
+  DEFAULT_CFLAGS_arm=-Os -pipe -march=armv5te -mtune=xscale -fno-caller-saves
   DEFAULT_CFLAGS_armeb=$(DEFAULT_CFLAGS_arm)
-  DEFAULT_CFLAGS=$(if $(DEFAULT_CFLAGS_$(ARCH)),$(DEFAULT_CFLAGS_$(ARCH)),-Os -pipe -funit-at-a-time)
+  DEFAULT_CFLAGS=$(if $(DEFAULT_CFLAGS_$(ARCH)),$(DEFAULT_CFLAGS_$(ARCH)),-Os -pipe -fno-caller-saves)
 endif
 
 define BuildTargets/DumpCurrent
diff --git a/target/linux/ar71xx/Makefile b/target/linux/ar71xx/Makefile
index 43a4c6a2d2..5b17f90ecf 100644
--- a/target/linux/ar71xx/Makefile
+++ b/target/linux/ar71xx/Makefile
@@ -10,7 +10,7 @@ ARCH:=mips
 BOARD:=ar71xx
 BOARDNAME:=Atheros AR71xx/AR7240/AR913x
 FEATURES:=squashfs jffs2 targz
-CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time
+CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves
 SUBTARGETS:=generic nand
 
 LINUX_VERSION:=2.6.37.4
diff --git a/target/linux/at91/Makefile b/target/linux/at91/Makefile
index 9808255bce..8225791b86 100644
--- a/target/linux/at91/Makefile
+++ b/target/linux/at91/Makefile
@@ -11,7 +11,7 @@ BOARD:=at91
 MAINTAINER:=Claudio Mignanti <c.mignanti@gmail.com>
 BOARDNAME:=Atmel AT91
 FEATURES:=squashfs jffs2 targz
-CFLAGS:=-Os -pipe -march=armv5te -mtune=arm926ej-s -funit-at-a-time
+CFLAGS:=-Os -pipe -march=armv5te -mtune=arm926ej-s -fno-caller-saves
 SUBTARGETS:=netus tqma9263
 
 LINUX_VERSION:=2.6.38
diff --git a/target/linux/cns21xx/Makefile b/target/linux/cns21xx/Makefile
index 76753fb16c..6e5fa6f565 100644
--- a/target/linux/cns21xx/Makefile
+++ b/target/linux/cns21xx/Makefile
@@ -10,7 +10,7 @@ ARCH:=arm
 BOARD:=cns21xx
 BOARDNAME:=Cavium Networks CNS21xx
 FEATURES:=squashfs broken
-CFLAGS:=-Os -pipe -march=armv4 -mtune=fa526 -funit-at-a-time
+CFLAGS:=-Os -pipe -march=armv4 -mtune=fa526 -fno-caller-saves
 
 LINUX_VERSION:=2.6.36.4
 
diff --git a/target/linux/cns3xxx/Makefile b/target/linux/cns3xxx/Makefile
index c7f55ee5cd..202cd029ce 100644
--- a/target/linux/cns3xxx/Makefile
+++ b/target/linux/cns3xxx/Makefile
@@ -10,7 +10,7 @@ ARCH:=arm
 BOARD:=cns3xxx
 BOARDNAME:=Cavium Networks Econa CNS3xxx
 FEATURES:=squashfs fpu gpio
-CFLAGS:=-Os -pipe -march=armv6k -mtune=mpcore -mfloat-abi=softfp -mfpu=vfp -funit-at-a-time
+CFLAGS:=-Os -pipe -march=armv6k -mtune=mpcore -mfloat-abi=softfp -mfpu=vfp -fno-caller-saves
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
 LINUX_VERSION:=2.6.31.14
diff --git a/target/linux/cobalt/Makefile b/target/linux/cobalt/Makefile
index 8952602c1b..81c9839be0 100644
--- a/target/linux/cobalt/Makefile
+++ b/target/linux/cobalt/Makefile
@@ -10,7 +10,7 @@ ARCH:=mipsel
 BOARD:=cobalt
 BOARDNAME:=Cobalt Microservers
 FEATURES:=targz pci ext4
-CFLAGS:=-O2 -pipe -mtune=r5000 -funit-at-a-time
+CFLAGS:=-O2 -pipe -mtune=r5000 -fno-caller-saves
 
 LINUX_VERSION:=2.6.32.33
 
diff --git a/target/linux/ep93xx/Makefile b/target/linux/ep93xx/Makefile
index d7662441a9..033d766aea 100644
--- a/target/linux/ep93xx/Makefile
+++ b/target/linux/ep93xx/Makefile
@@ -10,7 +10,7 @@ ARCH:=arm
 BOARD:=ep93xx
 BOARDNAME:=Cirrus Logic EP93xx
 FEATURES:=squashfs jffs2 ext4 targz usb
-CFLAGS:=-Os -pipe -march=armv4t -funit-at-a-time
+CFLAGS:=-Os -pipe -march=armv4t -fno-caller-saves
 
 LINUX_VERSION:=2.6.36.4
 
diff --git a/target/linux/gemini/Makefile b/target/linux/gemini/Makefile
index 9a63f751e1..ee602eef72 100644
--- a/target/linux/gemini/Makefile
+++ b/target/linux/gemini/Makefile
@@ -10,7 +10,7 @@ ARCH:=arm
 BOARD:=gemini
 BOARDNAME:=Cortina Systems CS351x
 FEATURES:=squashfs
-CFLAGS:=-Os -pipe -march=armv4 -mtune=fa526 -funit-at-a-time
+CFLAGS:=-Os -pipe -march=armv4 -mtune=fa526 -fno-caller-saves
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
 LINUX_VERSION:=2.6.37.4
diff --git a/target/linux/goldfish/Makefile b/target/linux/goldfish/Makefile
index 84342fded7..8bb3e61b8b 100644
--- a/target/linux/goldfish/Makefile
+++ b/target/linux/goldfish/Makefile
@@ -10,7 +10,7 @@ ARCH:=arm
 BOARD:=goldfish
 BOARDNAME:=Goldfish (Android Emulator)
 FEATURES:=
-CFLAGS:=-O2 -pipe -march=armv5te -mtune=xscale -funit-at-a-time
+CFLAGS:=-O2 -pipe -march=armv5te -mtune=xscale -fno-caller-saves
 
 LINUX_VERSION:=2.6.30.10
 
diff --git a/target/linux/imx21/Makefile b/target/linux/imx21/Makefile
index be326af2f8..8d46dd182e 100644
--- a/target/linux/imx21/Makefile
+++ b/target/linux/imx21/Makefile
@@ -10,7 +10,7 @@ ARCH:=arm
 BOARD:=imx21
 BOARDNAME:=Freescale i.MX21
 FEATURES:=jffs2 broken
-CFLAGS:=-Os -pipe -march=armv5te -mtune=arm926ej-s -funit-at-a-time
+CFLAGS:=-Os -pipe -march=armv5te -mtune=arm926ej-s -fno-caller-saves
 
 LINUX_VERSION:=2.6.37.4
 
diff --git a/target/linux/lantiq/Makefile b/target/linux/lantiq/Makefile
index dfaccbb830..05a41beb4a 100644
--- a/target/linux/lantiq/Makefile
+++ b/target/linux/lantiq/Makefile
@@ -14,7 +14,7 @@ SUBTARGETS:=falcon xway
 
 LINUX_VERSION:=2.6.37.4
 
-CFLAGS=-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time
+CFLAGS=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves
 
 include $(INCLUDE_DIR)/target.mk
 
diff --git a/target/linux/leon/Makefile b/target/linux/leon/Makefile
index 34e206c286..561f138c8f 100644
--- a/target/linux/leon/Makefile
+++ b/target/linux/leon/Makefile
@@ -11,7 +11,7 @@ BOARD:=leon
 BOARDNAME:=LEON
 FEATURES+=fpu tgz
 
-CFLAGS:=-Os -pipe -mcpu=v8 -funit-at-a-time
+CFLAGS:=-Os -pipe -mcpu=v8 -fno-caller-saves
 KERNELNAME:="uImage"
 
 LINUX_VERSION:=2.6.36.4
diff --git a/target/linux/malta/Makefile b/target/linux/malta/Makefile
index 0942e6b6ae..8cd200aaf0 100644
--- a/target/linux/malta/Makefile
+++ b/target/linux/malta/Makefile
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 BOARD:=malta
 BOARDNAME:=MIPS Malta CoreLV board (qemu)
-CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time
+CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves
 SUBTARGETS:=le be
 INITRAMFS_EXTRA_FILES:=
 
diff --git a/target/linux/mpc52xx/Makefile b/target/linux/mpc52xx/Makefile
index b4649e45c4..3d9c470177 100644
--- a/target/linux/mpc52xx/Makefile
+++ b/target/linux/mpc52xx/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=powerpc
 BOARD:=mpc52xx
 BOARDNAME:=Freescale MPC52xx
-CFLAGS:=-Os -pipe -funit-at-a-time -mcpu=603e
+CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=603e
 FEATURES:=targz ext4
 
 LINUX_VERSION:=2.6.30.10
diff --git a/target/linux/mpc83xx/Makefile b/target/linux/mpc83xx/Makefile
index d0ba52cce3..45ad9bcda3 100644
--- a/target/linux/mpc83xx/Makefile
+++ b/target/linux/mpc83xx/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=powerpc
 BOARD:=mpc83xx
 BOARDNAME:=Freescale MPC83xx
-CFLAGS:=-Os -pipe -funit-at-a-time -mcpu=603e
+CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=603e
 FEATURES:=squashfs targz broken
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
diff --git a/target/linux/mpc85xx/Makefile b/target/linux/mpc85xx/Makefile
index 7fbef341b1..df33596d81 100644
--- a/target/linux/mpc85xx/Makefile
+++ b/target/linux/mpc85xx/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=powerpc
 BOARD:=mpc85xx
 BOARDNAME:=Freescale MPC85xx
-CFLAGS:=-Os -pipe -funit-at-a-time -mcpu=8540
+CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=8540
 FEATURES:=spe_fpu ramdisk
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
diff --git a/target/linux/octeon/Makefile b/target/linux/octeon/Makefile
index 236a97f1d0..4d79a1aa79 100644
--- a/target/linux/octeon/Makefile
+++ b/target/linux/octeon/Makefile
@@ -10,7 +10,7 @@ ARCH:=mips
 BOARD:=octeon
 BOARDNAME:=Cavium Networks Octeon
 FEATURES:=squashfs jffs2 pci usb
-CFLAGS:=-Os -pipe -march=octeon -funit-at-a-time
+CFLAGS:=-Os -pipe -march=octeon -fno-caller-saves
 
 LINUX_VERSION:=2.6.37.4
 
diff --git a/target/linux/orion/Makefile b/target/linux/orion/Makefile
index 88960a78d7..feb07492c1 100644
--- a/target/linux/orion/Makefile
+++ b/target/linux/orion/Makefile
@@ -10,7 +10,7 @@ ARCH:=arm
 BOARD:=orion
 BOARDNAME:=Marvell Orion
 SUBTARGETS:=generic harddisk
-CFLAGS=-Os -pipe -march=armv5t -mtune=xscale -funit-at-a-time
+CFLAGS=-Os -pipe -march=armv5t -mtune=xscale -fno-caller-saves
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
 LINUX_VERSION:=2.6.37.4
diff --git a/target/linux/ppc40x/Makefile b/target/linux/ppc40x/Makefile
index 6c5758af56..a889c34920 100644
--- a/target/linux/ppc40x/Makefile
+++ b/target/linux/ppc40x/Makefile
@@ -10,7 +10,7 @@ ARCH:=powerpc
 BOARD:=ppc40x
 BOARDNAME:=AMCC/IBM PPC40x
 FEATURES:=squashfs
-CFLAGS:=-Os -pipe -funit-at-a-time -mcpu=405
+CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=405
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
 LINUX_VERSION:=2.6.32.33
diff --git a/target/linux/ppc44x/Makefile b/target/linux/ppc44x/Makefile
index 17f74d2a99..b13261a9d2 100644
--- a/target/linux/ppc44x/Makefile
+++ b/target/linux/ppc44x/Makefile
@@ -10,7 +10,7 @@ ARCH:=powerpc
 BOARD:=ppc44x
 BOARDNAME:=AMCC/IBM PPC44x
 FEATURES:=squashfs
-CFLAGS:=-Os -pipe -funit-at-a-time -mcpu=440
+CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=440
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
 LINUX_VERSION:=2.6.32.33
diff --git a/target/linux/ramips/Makefile b/target/linux/ramips/Makefile
index f629170ecd..10c145a03e 100644
--- a/target/linux/ramips/Makefile
+++ b/target/linux/ramips/Makefile
@@ -10,7 +10,7 @@ ARCH:=mipsel
 BOARD:=ramips
 BOARDNAME:=Ralink RT288x/RT305x
 SUBTARGETS:=rt288x rt305x
-CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time
+CFLAGS:=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves
 FEATURES:=squashfs
 
 LINUX_VERSION:=2.6.36.4
diff --git a/target/linux/rdc/Makefile b/target/linux/rdc/Makefile
index 69099b2576..e09642e202 100644
--- a/target/linux/rdc/Makefile
+++ b/target/linux/rdc/Makefile
@@ -10,7 +10,7 @@ ARCH:=i386
 BOARD:=rdc
 BOARDNAME:=RDC 321x
 FEATURES:=squashfs jffs2 pci usb pcmcia
-CFLAGS:=-Os -pipe -march=i486 -mtune=i486 -funit-at-a-time
+CFLAGS:=-Os -pipe -march=i486 -mtune=i486 -fno-caller-saves
 
 LINUX_VERSION:=2.6.32.33
 
diff --git a/target/linux/realview/Makefile b/target/linux/realview/Makefile
index 5785fdd473..ddc8d70ec9 100644
--- a/target/linux/realview/Makefile
+++ b/target/linux/realview/Makefile
@@ -10,7 +10,7 @@ ARCH:=arm
 BOARD:=realview
 BOARDNAME:=ARM Ltd. Realview board (qemu)
 FEATURES:=squashfs jffs2 fpu
-CFLAGS:=-Os -pipe -march=armv6k -mtune=mpcore -mfloat-abi=softfp -mfpu=vfp -funit-at-a-time
+CFLAGS:=-Os -pipe -march=armv6k -mtune=mpcore -mfloat-abi=softfp -mfpu=vfp -fno-caller-saves
 
 LINUX_VERSION:=2.6.37.4
 
diff --git a/target/linux/s3c24xx/Makefile b/target/linux/s3c24xx/Makefile
index 0a051ff137..57f6aa3c72 100644
--- a/target/linux/s3c24xx/Makefile
+++ b/target/linux/s3c24xx/Makefile
@@ -10,7 +10,7 @@ ARCH:=arm
 BOARD:=s3c24xx
 BOARDNAME:=Samsung S3C24xx
 FEATURES:=jffs2
-CFLAGS:=-O2 -pipe -march=armv4t -mtune=arm920t -funit-at-a-time
+CFLAGS:=-O2 -pipe -march=armv4t -mtune=arm920t -fno-caller-saves
 SUBTARGETS:=openmoko-gta02
 
 LINUX_VERSION:=2.6.30.10
diff --git a/target/linux/sibyte/Makefile b/target/linux/sibyte/Makefile
index 4a9c6d91bf..2240e94e13 100644
--- a/target/linux/sibyte/Makefile
+++ b/target/linux/sibyte/Makefile
@@ -10,7 +10,7 @@ ARCH:=mips
 BOARD:=sibyte
 BOARDNAME:=Broadcom/SiByte SB-1
 FEATURES:=fpu ramdisk
-CFLAGS:=-Os -pipe -march=sb1 -funit-at-a-time
+CFLAGS:=-Os -pipe -march=sb1 -fno-caller-saves
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
 LINUX_VERSION:=2.6.37.4
-- 
2.34.1