Jelajahi Sumber

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 <[email protected]>

SVN-Revision: 25705
Imre Kaloz 14 tahun lalu
induk
melakukan
a3989e3dbd
3 mengubah file dengan 10 tambahan dan 14 penghapusan
  1. 6 12
      rules.mk
  2. 0 2
      toolchain/Config.in
  3. 4 0
      toolchain/gcc/common.mk

+ 6 - 12
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

+ 0 - 2
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

+ 4 - 0
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) \