diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-11-10 12:03:59 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-11-10 12:03:59 +0000 |
commit | 1c93a8353d0b641a6fa0077e81ecc8dd3efcae56 (patch) | |
tree | 217d81c75cd393a058f616a5c3a05f52d33a5cd2 /toolchain/binutils | |
parent | 01abaaf05e0244cd99f40826ae3e14c6c59c29c2 (diff) | |
download | master-187ad058-1c93a8353d0b641a6fa0077e81ecc8dd3efcae56.tar.gz master-187ad058-1c93a8353d0b641a6fa0077e81ecc8dd3efcae56.tar.bz2 master-187ad058-1c93a8353d0b641a6fa0077e81ecc8dd3efcae56.zip |
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47438 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/binutils')
-rw-r--r-- | toolchain/binutils/Config.in | 23 | ||||
-rw-r--r-- | toolchain/binutils/Config.version | 17 | ||||
-rw-r--r-- | toolchain/binutils/Makefile | 29 |
3 files changed, 53 insertions, 16 deletions
diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index 27b2ffab8b..4fa8ab94ca 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -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" diff --git a/toolchain/binutils/Config.version b/toolchain/binutils/Config.version new file mode 100644 index 0000000000..0a57c17813 --- /dev/null +++ b/toolchain/binutils/Config.version @@ -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 + diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index 0028a02d68..c37148eedd 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -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 |