toolchain: add support of ARC architecture
This includes binutils, gcc, gdb and uClibc-ng. Latest release of ARC gcc (as of today it is "arc-2015.06") is based on upstream gcc 4.8.4. Sources are available on GitHub, see: https://github.com/foss-for-synopsys-dwc-arc-processors/gcc Latest release of ARC binutils (as of today it is "arc-2015.06") is based on upstream binutils 2.23. Sources are available on GitHub, see: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06 Latest release of ARC GDB (as of today this is "arc-2015.06-gdb") is based on upstream gdb 7.9.1. Sources are available on GitHub, see: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06-gdb Note that for binutils and gdb that come from unified git repository (which is the case for upstream binutils/gdb today) we need to disable building of gdb in binutils and binutils in gdb hence in binutils: ------>8------ --disable-sim --disable-gdb ------>8------ and in gdb: ------>8------ --disable-binutils --disable-ld --disable-gas ------>8------ Also in gdb we disable sim because if the following breakage while building with it: ------------>8------------ /usr/bin/env bash ./../common/genmloop.sh -shell /usr/bin/env bash \ -mono -fast -pbb -switch sem5-switch.c \ -cpu a5f -infile ./mloop5.in \ -outfile-suffix 5 unknown option: bash Makefile:699: recipe for target 'stamp-5mloop' failed make[7]: *** [stamp-5mloop] Error 1 ------------>8------------ Cc: Felix Fietkau <nbd@openwrt.org> Cc: John Crispin <blogic@openwrt.org> Cc: Jonas Gorski <jogo@openwrt.org> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> SVN-Revision: 47438
This commit is contained in:
parent
759b1c1187
commit
8b5d644bb3
31 changed files with 934 additions and 31 deletions
|
@ -2,15 +2,25 @@
|
|||
|
||||
choice
|
||||
prompt "Binutils Version" if TOOLCHAINOPTS
|
||||
default BINUTILS_VERSION_LINARO
|
||||
default BINUTILS_USE_VERSION_2_24_LINARO if !arc
|
||||
default BINUTILS_USE_VERSION_2_23_ARC if arc
|
||||
help
|
||||
Select the version of binutils you wish to use.
|
||||
|
||||
config BINUTILS_VERSION_LINARO
|
||||
config BINUTILS_USE_VERSION_2_24_LINARO
|
||||
depends on !arc
|
||||
bool "Linaro binutils 2.24"
|
||||
select BINUTILS_VERSION_2_24_LINARO
|
||||
|
||||
config BINUTILS_VERSION_2_25_1
|
||||
config BINUTILS_USE_VERSION_2_25_1
|
||||
depends on !arc
|
||||
bool "Binutils 2.25.1"
|
||||
select BINUTILS_VERSION_2_25_1
|
||||
|
||||
config BINUTILS_USE_VERSION_2_23_ARC
|
||||
depends on arc
|
||||
bool "ARC binutils 2.23"
|
||||
select BINUTILS_VERSION_2_23_ARC
|
||||
|
||||
endchoice
|
||||
|
||||
|
@ -20,10 +30,3 @@ config EXTRA_BINUTILS_CONFIG_OPTIONS
|
|||
default ""
|
||||
help
|
||||
Any additional binutils options you may want to include....
|
||||
|
||||
config BINUTILS_VERSION
|
||||
string
|
||||
prompt "Binutils Version" if (TOOLCHAINOPTS && NULL)
|
||||
default "linaro" if BINUTILS_VERSION_LINARO
|
||||
default "2.25.1" if BINUTILS_VERSION_2_25_1
|
||||
default "linaro"
|
||||
|
|
17
toolchain/binutils/Config.version
Normal file
17
toolchain/binutils/Config.version
Normal file
|
@ -0,0 +1,17 @@
|
|||
config BINUTILS_VERSION_2_24_LINARO
|
||||
default y if (!TOOLCHAINOPTS && !arc)
|
||||
bool
|
||||
|
||||
config BINUTILS_VERSION_2_25_1
|
||||
bool
|
||||
|
||||
config BINUTILS_VERSION_2_23_ARC
|
||||
default y if (!TOOLCHAINOPTS && arc)
|
||||
bool
|
||||
|
||||
config BINUTILS_VERSION
|
||||
string
|
||||
default "2.24-linaro" if BINUTILS_VERSION_2_24_LINARO
|
||||
default "2.25.1" if BINUTILS_VERSION_2_25_1
|
||||
default "arc-2015.06" if BINUTILS_VERSION_2_23_ARC
|
||||
|
|
@ -10,6 +10,13 @@ PKG_NAME:=binutils
|
|||
PKG_VERSION:=$(call qstrip,$(CONFIG_BINUTILS_VERSION))
|
||||
BIN_VERSION:=$(PKG_VERSION)
|
||||
|
||||
PKG_SOURCE_URL:=@GNU/binutils/
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
|
||||
ifeq ($(PKG_VERSION),2.25.1)
|
||||
PKG_MD5SUM:=ac493a78de4fee895961d025b7905be4
|
||||
endif
|
||||
|
||||
ifeq ($(findstring linaro, $(CONFIG_BINUTILS_VERSION)),linaro)
|
||||
PKG_SOURCE_URL:=https://releases.linaro.org/14.09/components/toolchain/binutils-linaro/
|
||||
PKG_REV:=2.24.0-2014.09
|
||||
|
@ -17,13 +24,15 @@ ifeq ($(findstring linaro, $(CONFIG_BINUTILS_VERSION)),linaro)
|
|||
PKG_MD5SUM:=8f9b2b2e049d59b1b86ce9657802a353
|
||||
BINUTILS_DIR:=$(PKG_NAME)-linaro-$(PKG_REV)
|
||||
HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(BINUTILS_DIR)
|
||||
else
|
||||
PKG_SOURCE_URL:=@GNU/binutils/
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
endif
|
||||
|
||||
ifeq ($(PKG_VERSION),2.25.1)
|
||||
PKG_MD5SUM:=ac493a78de4fee895961d025b7905be4
|
||||
endif
|
||||
ifneq ($(CONFIG_BINUTILS_VERSION_2_23_ARC),)
|
||||
PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/arc-2015.06/
|
||||
PKG_REV:=2015.06
|
||||
PKG_SOURCE:=$(PKG_NAME)-arc-$(PKG_REV).tar.gz
|
||||
PKG_MD5SUM:=961a3564de857238c255c381f8e4360b
|
||||
BINUTILS_DIR:=$(PKG_NAME)-gdb-arc-$(PKG_REV)
|
||||
HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(BINUTILS_DIR)
|
||||
endif
|
||||
|
||||
HOST_BUILD_PARALLEL:=1
|
||||
|
@ -46,6 +55,8 @@ BINUTILS_CONFIGURE:= \
|
|||
--disable-multilib \
|
||||
--disable-werror \
|
||||
--disable-nls \
|
||||
--disable-sim \
|
||||
--disable-gdb \
|
||||
$(GRAPHITE_CONFIGURE) \
|
||||
$(SOFT_FLOAT_CONFIG_OPTION) \
|
||||
$(call qstrip,$(CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS))
|
||||
|
@ -91,6 +102,12 @@ define Host/Install
|
|||
$(call FixupLibdir,$(TOOLCHAIN_DIR)/initial)
|
||||
$(RM) $(TOOLCHAIN_DIR)/initial/lib/libiberty.a
|
||||
$(CP) $(TOOLCHAIN_DIR)/bin/$(REAL_GNU_TARGET_NAME)-readelf $(REAL_STAGING_DIR_HOST)/bin/readelf
|
||||
# ARC gcc requires extlib.
|
||||
# If extlib is not available in "initial" folder
|
||||
# initial gcc will fail to build libc.
|
||||
if [ -d $(TOOLCHAIN_DIR)/extlib ]; then \
|
||||
$(CP) -r $(TOOLCHAIN_DIR)/extlib $(TOOLCHAIN_DIR)/initial/; \
|
||||
fi
|
||||
endef
|
||||
|
||||
define Host/Clean
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue