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
commit7dd2d2cbd3e516107edb4cf20469206b93a1edec (patch)
tree53c32ea18521043aae12d81eba831be518db0e09
parentc4b79f390411d319afde53231f6b3c5a01e28142 (diff)
downloadmaster-187ad058-7dd2d2cbd3e516107edb4cf20469206b93a1edec.tar.gz
master-187ad058-7dd2d2cbd3e516107edb4cf20469206b93a1edec.tar.bz2
master-187ad058-7dd2d2cbd3e516107edb4cf20469206b93a1edec.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> 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) \