From: Imre Kaloz Date: Fri, 25 Feb 2011 16:52:25 +0000 (+0000) Subject: We use different toolchain directories for different ARM archs, so we should set... X-Git-Tag: reboot~17455 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=a3989e3dbd80248789ee379538e6de22c1d47d0e 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 SVN-Revision: 25705 --- 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) \