summaryrefslogtreecommitdiff
path: root/Rules.mak
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-08-18 21:56:13 +0000
committerEric Andersen <andersen@codepoet.org>2003-08-18 21:56:13 +0000
commit12d405f57b5db065f8d20264506697be466efb2b (patch)
treed322e45b4d2810010a37008004daa77023d69be4 /Rules.mak
parent2f827ce921b8ff782854a8aa54c47681128e7149 (diff)
Cleanup arm architecture optimizations and add big endian arm as well.
Diffstat (limited to 'Rules.mak')
-rw-r--r--Rules.mak20
1 files changed, 16 insertions, 4 deletions
diff --git a/Rules.mak b/Rules.mak
index 3b162addf..fdc2e3050 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -130,10 +130,21 @@ endif
ifeq ($(strip $(TARGET_ARCH)),arm)
OPTIMIZATION+=-fstrict-aliasing
+ CPU_LDFLAGS-$(ARCH_LITTLE_ENDIAN):="-EL"
+ CPU_LDFLAGS-$(ARCH_BIG_ENDIAN):="-EB"
+ CPU_CFLAGS-$(ARCH_LITTLE_ENDIAN):="-mlittle-endian"
+ CPU_CFLAGS-$(ARCH_BIG_ENDIAN):="-mbig-endian"
CPU_CFLAGS-$(CONFIG_GENERIC_ARM):=
- CPU_CFLAGS-$(CONFIG_ARM7TDMI):="-march=arm7tdmi"
- CPU_CFLAGS-$(CONFIG_STRONGARM):="-march=strongarm"
- CPU_CFLAGS-$(CONFIG_XSCALE):="-march=xscale"
+ CPU_CFLAGS-$(CONFIG_ARM610):=-mtune=arm610 -march=armv3
+ CPU_CFLAGS-$(CONFIG_ARM710):=-mtune=arm710 -march=armv3
+ CPU_CFLAGS-$(CONFIG_ARM720T):=-mtune=arm7tdmi -march=armv4
+ CPU_CFLAGS-$(CONFIG_ARM920T):=-mtune=arm9tdmi -march=armv4
+ CPU_CFLAGS-$(CONFIG_ARM922T):=-mtune=arm9tdmi -march=armv4
+ CPU_CFLAGS-$(CONFIG_ARM926T):=-mtune=arm9tdmi -march=armv4
+ CPU_CFLAGS-$(CONFIG_ARM_SA110):=-mtune=strongarm110 -march=armv4
+ CPU_CFLAGS-$(CONFIG_ARM_SA1100):=-mtune=strongarm1100 -march=armv4
+ CPU_CFLAGS-$(CONFIG_ARM_XSCALE):=$(call check_gcc,-mtune=xscale,-mtune=strongarm110) \
+ $(call check_gcc,-march=armv5te,-march=armv4 -Wa$(comma)-mxscale)
endif
ifeq ($(strip $(TARGET_ARCH)),sh)
@@ -212,7 +223,8 @@ ifeq ($(HAVE_SHARED),y)
endif
endif
ifeq ($(UCLIBC_HAS_SOFT_FLOAT),y)
- CFLAGS += $(call check_gcc,-msoft-float,)
+ CFLAGS += -msoft-float
+ LDFLAGS+= -Wa,-mno-fpu
endif
CFLAGS_NOPIC:=$(CFLAGS)