toolchain: add support of ARCv2 architecture
This change adds support of ARC ISAv2 processors in OpenWRT toolchain. In general gcc for ARC may compile code for both ISA versions simultaneously but libgcc will be built only for default architecture that's why it's necessary to specify --with-cpu on gcc configuration. As for uClibc we need to use different configurations for different ARC ISAs. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Felix Fietkau <nbd@openwrt.org> Cc: Jo-Philipp Wich <jow@openwrt.org> Cc: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 48739
This commit is contained in:
parent
7a29f7c22d
commit
7b821a5ae8
3 changed files with 13 additions and 1 deletions
|
@ -111,6 +111,7 @@ GCC_CONFIGURE:= \
|
||||||
$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
|
$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \
|
||||||
$(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 \
|
$(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 \
|
||||||
--with-abi=$(call qstrip,$(CONFIG_MIPS64_ABI))) \
|
--with-abi=$(call qstrip,$(CONFIG_MIPS64_ABI))) \
|
||||||
|
$(if $(CONFIG_arc),--with-cpu=$(CONFIG_CPU_TYPE)) \
|
||||||
--with-gmp=$(TOPDIR)/staging_dir/host \
|
--with-gmp=$(TOPDIR)/staging_dir/host \
|
||||||
--with-mpfr=$(TOPDIR)/staging_dir/host \
|
--with-mpfr=$(TOPDIR)/staging_dir/host \
|
||||||
--with-mpc=$(TOPDIR)/staging_dir/host \
|
--with-mpc=$(TOPDIR)/staging_dir/host \
|
||||||
|
|
|
@ -41,8 +41,9 @@ GEN_CONFIG=$(SCRIPT_DIR)/kconfig.pl -n \
|
||||||
$(if $(CONFIG_UCLIBC_ENABLE_DEBUG),$(if $(wildcard $(CONFIG_DIR)/debug),'+' $(CONFIG_DIR)/debug)) \
|
$(if $(CONFIG_UCLIBC_ENABLE_DEBUG),$(if $(wildcard $(CONFIG_DIR)/debug),'+' $(CONFIG_DIR)/debug)) \
|
||||||
$(CONFIG_DIR)/$(ARCH)$(strip \
|
$(CONFIG_DIR)/$(ARCH)$(strip \
|
||||||
$(if $(wildcard $(CONFIG_DIR)/$(ARCH).$(BOARD)),.$(BOARD), \
|
$(if $(wildcard $(CONFIG_DIR)/$(ARCH).$(BOARD)),.$(BOARD), \
|
||||||
|
$(if $(filter archs,$(subst ",,$(CONFIG_CPU_TYPE))),hs, \
|
||||||
$(if $(CONFIG_MIPS64_ABI),.$(subst ",,$(CONFIG_MIPS64_ABI)), \
|
$(if $(CONFIG_MIPS64_ABI),.$(subst ",,$(CONFIG_MIPS64_ABI)), \
|
||||||
$(if $(CONFIG_HAS_SPE_FPU),$(if $(wildcard $(CONFIG_DIR)/$(ARCH).e500),.e500)))))
|
$(if $(CONFIG_HAS_SPE_FPU),$(if $(wildcard $(CONFIG_DIR)/$(ARCH).e500),.e500))))))
|
||||||
|
|
||||||
CPU_CFLAGS = \
|
CPU_CFLAGS = \
|
||||||
-funsigned-char -fno-builtin -fno-asm \
|
-funsigned-char -fno-builtin -fno-asm \
|
||||||
|
|
10
toolchain/uClibc/config/archs
Normal file
10
toolchain/uClibc/config/archs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
ARCH_ANY_ENDIAN=y
|
||||||
|
ARCH_LITTLE_ENDIAN=y
|
||||||
|
ARCH_WANTS_LITTLE_ENDIAN=y
|
||||||
|
TARGET_ARCH="arc"
|
||||||
|
TARGET_arc=y
|
||||||
|
# CONFIG_ARC_CPU_700 is not set
|
||||||
|
CONFIG_ARC_CPU_HS=y
|
||||||
|
CONFIG_ARC_PAGE_SIZE_8K=y
|
||||||
|
# CONFIG_ARC_PAGE_SIZE_16K is not set
|
||||||
|
# CONFIG_ARC_PAGE_SIZE_4K is not set
|
Loading…
Reference in a new issue