We use different toolchain directories for different
authorkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 25 Feb 2011 16:52:25 +0000 (16:52 +0000)
committerkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 25 Feb 2011 16:52:25 +0000 (16:52 +0000)
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

rules.mk
toolchain/Config.in
toolchain/gcc/common.mk

index b69769a..b778a2e 100644 (file)
--- 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
index 318847f..bc9e6df 100644 (file)
@@ -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
index 0f22e41..888cf7a 100644 (file)
@@ -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) \