aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorImre Kaloz <kaloz@openwrt.org>2011-02-25 16:52:25 +0000
committerImre Kaloz <kaloz@openwrt.org>2011-02-25 16:52:25 +0000
commita3989e3dbd80248789ee379538e6de22c1d47d0e (patch)
treed3dd71642bc0aec3dd68339e121b0537762962bd
parent5a8a9a0e23f1467eaeaef475a8bea0542e9ecad8 (diff)
downloadupstream-a3989e3dbd80248789ee379538e6de22c1d47d0e.tar.gz
upstream-a3989e3dbd80248789ee379538e6de22c1d47d0e.tar.bz2
upstream-a3989e3dbd80248789ee379538e6de22c1d47d0e.zip
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> SVN-Revision: 25705
-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) \