summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-02-25 16:52:25 +0000
committerkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-02-25 16:52:25 +0000
commit251a81393389b99059cdb1461dd9633e830b6243 (patch)
tree53c32ea18521043aae12d81eba831be518db0e09
parent14dd9445ff773ac928313c79eeeecfaa23ea727e (diff)
We use different toolchain directories for different
ARM archs, so we should set the default arch of gcc to reflect this. This enables EABI support for armv4 CPUs. Signed-off-by: Jochen Friedrich <jochen@scram.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25705 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--rules.mk18
-rw-r--r--toolchain/Config.in2
-rw-r--r--toolchain/gcc/common.mk4
3 files changed, 10 insertions, 14 deletions
diff --git a/rules.mk b/rules.mk
index b69769aa40..b778a2e84e 100644
--- a/rules.mk
+++ b/rules.mk
@@ -54,21 +54,15 @@ endif
HOST_FPIC:=-fPIC
ARCH_SUFFIX:=
+GCC_ARCH:=
+
+ifneq ($(filter -march=armv%,$(TARGET_OPTIMIZATION)),)
+ ARCH_SUFFIX:=_$(patsubst -march=arm%,%,$(filter -march=armv%,$(TARGET_OPTIMIZATION)))
+ GCC_ARCH:=$(patsubst -march=%,%,$(filter -march=armv%,$(TARGET_OPTIMIZATION)))
+endif
ifneq ($(findstring -mips32r2,$(TARGET_OPTIMIZATION)),)
ARCH_SUFFIX:=_r2
endif
-ifneq ($(findstring -march=armv4,$(TARGET_OPTIMIZATION)),)
- ARCH_SUFFIX:=_v4
-endif
-ifneq ($(findstring -march=armv4t,$(TARGET_OPTIMIZATION)),)
- ARCH_SUFFIX:=_v4t
-endif
-ifneq ($(findstring -march=armv5t,$(TARGET_OPTIMIZATION)),)
- ARCH_SUFFIX:=_v5t
-endif
-ifneq ($(findstring -march=armv5te,$(TARGET_OPTIMIZATION)),)
- ARCH_SUFFIX:=_v5te
-endif
ifdef CONFIG_HAS_SPE_FPU
TARGET_SUFFIX:=$(TARGET_SUFFIX)spe
endif
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 318847f736..bc9e6df06d 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -90,8 +90,6 @@ config EABI_SUPPORT
bool
depends arm||armeb
prompt "Enable EABI support" if TOOLCHAINOPTS
- default n if TARGET_gemini
- default n if TARGET_cns21xx
default y
help
Enable ARM EABI support
diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk
index 0f22e41021..888cf7a1e5 100644
--- a/toolchain/gcc/common.mk
+++ b/toolchain/gcc/common.mk
@@ -167,6 +167,10 @@ ifdef CONFIG_powerpc
TARGET_CFLAGS := $(patsubst -Os,-O2,$(TARGET_CFLAGS))
endif
+ifneq ($(GCC_ARCH),)
+ GCC_CONFIGURE+= --with-arch=$(GCC_ARCH)
+endif
+
GCC_MAKE:= \
export SHELL="$(BASH)"; \
$(MAKE) $(TOOLCHAIN_JOBS) \