aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/binutils')
-rw-r--r--toolchain/binutils/Config.in23
-rw-r--r--toolchain/binutils/Config.version17
-rw-r--r--toolchain/binutils/Makefile29
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