diff mbox

[LEDE-DEV] toolchain/arc: update to the most recent release arc-2017.03

Message ID 20170626150308.22424-1-didin@synopsys.com
State Superseded
Delegated to: Hauke Mehrtens
Headers show

Commit Message

Evgeniy Didin June 26, 2017, 3:03 p.m. UTC
arc-2017.03 is the most recent release toolchain for ARC cores
and it is based on upstream Binutils 2.28 and GCC 6.3.0

Signed-off-by: Evgeniy Didin <didin@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: John Crispin <john@phrozen.org>
---
 package/devel/gdb-arc/Makefile                                    | 6 +++---
 toolchain/binutils/Config.in                                      | 8 ++++----
 toolchain/binutils/Config.version                                 | 4 ++--
 toolchain/binutils/Makefile                                       | 6 +++---
 toolchain/gcc/Config.in                                           | 8 ++++----
 toolchain/gcc/Config.version                                      | 8 ++++----
 toolchain/gcc/common.mk                                           | 8 ++++----
 .../001-revert_register_mode_search.patch                         | 0
 .../002-case_insensitive.patch                                    | 0
 .../010-documentation.patch                                       | 0
 .../230-musl_libssp.patch                                         | 0
 .../280-musl-disable-ifunc-by-default.patch                       | 0
 .../300-mips_Os_cpu_rtx_cost_model.patch                          | 0
 .../800-arm_v5te_no_ldrd_strd.patch                               | 0
 .../810-arm-softfloat-libgcc.patch                                | 0
 .../820-libgcc_pic.patch                                          | 0
 .../830-arm_unbreak_armv4t.patch                                  | 0
 .../840-armv4_pass_fix-v4bx_to_ld.patch                           | 0
 .../850-use_shared_libgcc.patch                                   | 0
 .../851-libgcc_no_compat.patch                                    | 0
 .../870-ppc_no_crtsavres.patch                                    | 0
 .../880-no_java_section.patch                                     | 0
 .../881-no_tm_section.patch                                       | 0
 .../900-bad-mips16-crt.patch                                      | 0
 .../910-mbsd_multi.patch                                          | 0
 .../920-specs_nonfatal_getenv.patch                               | 0
 .../930-fix-mips-noexecstack.patch                                | 0
 .../940-no-clobber-stamp-bits.patch                               | 0
 .../950-cpp_file_path_translation.patch                           | 0
 toolchain/gdb/Makefile                                            | 6 +++---
 30 files changed, 27 insertions(+), 27 deletions(-)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/001-revert_register_mode_search.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/002-case_insensitive.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/010-documentation.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/230-musl_libssp.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/280-musl-disable-ifunc-by-default.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/300-mips_Os_cpu_rtx_cost_model.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/800-arm_v5te_no_ldrd_strd.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/810-arm-softfloat-libgcc.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/820-libgcc_pic.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/830-arm_unbreak_armv4t.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/840-armv4_pass_fix-v4bx_to_ld.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/850-use_shared_libgcc.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/851-libgcc_no_compat.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/870-ppc_no_crtsavres.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/880-no_java_section.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/881-no_tm_section.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/900-bad-mips16-crt.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/910-mbsd_multi.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/920-specs_nonfatal_getenv.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/930-fix-mips-noexecstack.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/940-no-clobber-stamp-bits.patch (100%)
 rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/950-cpp_file_path_translation.patch (100%)

Comments

Hauke Mehrtens June 26, 2017, 8:45 p.m. UTC | #1
On 06/26/2017 05:03 PM, Evgeniy Didin wrote:
> arc-2017.03 is the most recent release toolchain for ARC cores
> and it is based on upstream Binutils 2.28 and GCC 6.3.0
> 
> Signed-off-by: Evgeniy Didin <didin@synopsys.com>
> Cc: Alexey Brodkin <abrodkin@synopsys.com>
> Cc: John Crispin <john@phrozen.org>
> ---

When will the ARC CPU be supported in mainline gcc and binutils so we do
not have to use a special arc toolchain any more?

Hauke
Alexey Brodkin June 27, 2017, 5:47 a.m. UTC | #2
Hi Hauke,

On Mon, 2017-06-26 at 22:45 +0200, Hauke Mehrtens wrote:
> On 06/26/2017 05:03 PM, Evgeniy Didin wrote:

> > 

> > arc-2017.03 is the most recent release toolchain for ARC cores

> > and it is based on upstream Binutils 2.28 and GCC 6.3.0

> > 

> > Signed-off-by: Evgeniy Didin <didin@synopsys.com>

> > Cc: Alexey Brodkin <abrodkin@synopsys.com>

> > Cc: John Crispin <john@phrozen.org>

> > ---

> 

> When will the ARC CPU be supported in mainline gcc and binutils so we do

> not have to use a special arc toolchain any more?


Well I may say that ARC is supported upstream already.
In fact our recent releases only differ a little bit from upstream master
of both Binutils and GCC.

The problem for us is we still develop both Binutils and GCC pretty actively
compared to other arches (this is especially true for Binutils) and delta between
our dev tree and the last upstream release might become quite significant in a few
months.

Still the plan for us is to switch to upstream tarballs + a set of patches on top
of that in coming months.

Now why we did that particular update with forks from our Github
is we want to move with smaller steps. See in arc-2017.03 release we
upgraded GCC from 6.2 to 6.3 and what's much more important Binutils from
2.27 (which was way too different from upstream version) to 2.28 which even
in upstream tarball has most our our stuff integrated already.

With that we want to make sure packages get built and built system is usable.

Stay tuned.

-Alexey
Hauke Mehrtens July 2, 2017, 11:14 a.m. UTC | #3
On 06/27/2017 07:47 AM, Alexey Brodkin wrote:
> Hi Hauke,
> 
> On Mon, 2017-06-26 at 22:45 +0200, Hauke Mehrtens wrote:
>> On 06/26/2017 05:03 PM, Evgeniy Didin wrote:
>>>
>>> arc-2017.03 is the most recent release toolchain for ARC cores
>>> and it is based on upstream Binutils 2.28 and GCC 6.3.0
>>>
>>> Signed-off-by: Evgeniy Didin <didin@synopsys.com>
>>> Cc: Alexey Brodkin <abrodkin@synopsys.com>
>>> Cc: John Crispin <john@phrozen.org>
>>> ---
>>
>> When will the ARC CPU be supported in mainline gcc and binutils so we do
>> not have to use a special arc toolchain any more?
> 
> Well I may say that ARC is supported upstream already.
> In fact our recent releases only differ a little bit from upstream master
> of both Binutils and GCC.
> 
> The problem for us is we still develop both Binutils and GCC pretty actively
> compared to other arches (this is especially true for Binutils) and delta between
> our dev tree and the last upstream release might become quite significant in a few
> months.
> 
> Still the plan for us is to switch to upstream tarballs + a set of patches on top
> of that in coming months.
> 
> Now why we did that particular update with forks from our Github
> is we want to move with smaller steps. See in arc-2017.03 release we
> upgraded GCC from 6.2 to 6.3 and what's much more important Binutils from
> 2.27 (which was way too different from upstream version) to 2.28 which even
> in upstream tarball has most our our stuff integrated already.
> 
> With that we want to make sure packages get built and built system is usable.
> 
> Stay tuned.
> 
> -Alexey

Hi Alexey,

I was just asking because I saw in the GCC 7.X and binutils 2.28
changelog that support for some ARC CPUs was added. I am ok with this
patch, as I see that you war working on getting your changes upstream,
so we can switch to the mainline version of gcc and binutils in the future.

Hauke
Hauke Mehrtens July 2, 2017, 11:16 a.m. UTC | #4
On 06/26/2017 05:03 PM, Evgeniy Didin wrote:
> arc-2017.03 is the most recent release toolchain for ARC cores
> and it is based on upstream Binutils 2.28 and GCC 6.3.0
> 
> Signed-off-by: Evgeniy Didin <didin@synopsys.com>
> Cc: Alexey Brodkin <abrodkin@synopsys.com>
> Cc: John Crispin <john@phrozen.org>
> ---
>  package/devel/gdb-arc/Makefile                                    | 6 +++---
>  toolchain/binutils/Config.in                                      | 8 ++++----
>  toolchain/binutils/Config.version                                 | 4 ++--
>  toolchain/binutils/Makefile                                       | 6 +++---
>  toolchain/gcc/Config.in                                           | 8 ++++----
>  toolchain/gcc/Config.version                                      | 8 ++++----
>  toolchain/gcc/common.mk                                           | 8 ++++----
>  .../001-revert_register_mode_search.patch                         | 0
>  .../002-case_insensitive.patch                                    | 0
>  .../010-documentation.patch                                       | 0
>  .../230-musl_libssp.patch                                         | 0
>  .../280-musl-disable-ifunc-by-default.patch                       | 0
>  .../300-mips_Os_cpu_rtx_cost_model.patch                          | 0
>  .../800-arm_v5te_no_ldrd_strd.patch                               | 0
>  .../810-arm-softfloat-libgcc.patch                                | 0
>  .../820-libgcc_pic.patch                                          | 0
>  .../830-arm_unbreak_armv4t.patch                                  | 0
>  .../840-armv4_pass_fix-v4bx_to_ld.patch                           | 0
>  .../850-use_shared_libgcc.patch                                   | 0
>  .../851-libgcc_no_compat.patch                                    | 0
>  .../870-ppc_no_crtsavres.patch                                    | 0
>  .../880-no_java_section.patch                                     | 0
>  .../881-no_tm_section.patch                                       | 0
>  .../900-bad-mips16-crt.patch                                      | 0
>  .../910-mbsd_multi.patch                                          | 0
>  .../920-specs_nonfatal_getenv.patch                               | 0
>  .../930-fix-mips-noexecstack.patch                                | 0
>  .../940-no-clobber-stamp-bits.patch                               | 0
>  .../950-cpp_file_path_translation.patch                           | 0
>  toolchain/gdb/Makefile                                            | 6 +++---
>  30 files changed, 27 insertions(+), 27 deletions(-)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/001-revert_register_mode_search.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/002-case_insensitive.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/010-documentation.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/230-musl_libssp.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/280-musl-disable-ifunc-by-default.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/300-mips_Os_cpu_rtx_cost_model.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/800-arm_v5te_no_ldrd_strd.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/810-arm-softfloat-libgcc.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/820-libgcc_pic.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/830-arm_unbreak_armv4t.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/840-armv4_pass_fix-v4bx_to_ld.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/850-use_shared_libgcc.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/851-libgcc_no_compat.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/870-ppc_no_crtsavres.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/880-no_java_section.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/881-no_tm_section.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/900-bad-mips16-crt.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/910-mbsd_multi.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/920-specs_nonfatal_getenv.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/930-fix-mips-noexecstack.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/940-no-clobber-stamp-bits.patch (100%)
>  rename toolchain/gcc/patches/{arc-2016.09-release => arc-2017.03-release}/950-cpp_file_path_translation.patch (100%)

.....

> --- a/toolchain/gcc/common.mk
> +++ b/toolchain/gcc/common.mk
> @@ -40,12 +40,12 @@ ifeq ($(PKG_VERSION),7.1.0)
>    PKG_HASH:=8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17
>  endif
>  
> -ifneq ($(CONFIG_GCC_VERSION_6_2_ARC),)
> -    PKG_VERSION:=6.2.1
> +ifneq ($(CONFIG_GCC_VERSION_6_3_ARC),)
> +    PKG_VERSION:=6.3.0
>      PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/archive/$(GCC_VERSION)
>      PKG_SOURCE:=$(PKG_NAME)-$(GCC_VERSION).tar.gz
> -    PKG_HASH:=d6f842dd266ccb0d5a53b51e2b2951503569f2ff3c84f81b2a1d9fea109ec077
> -    PKG_REV:=2016.09
> +    PKG_HASH:=b7223e134199b1a6f71de629da6aa845790e55d28e9892143dde09b1bc878110
> +    PKG_REV:=2017.03

Please use "PKG_REV:=2017.03-release" here, otherwise the symlink at
build_dir/toolchain-arc_arc700_gcc-arc-2017.03-release_uClibc/gcc
pointing to an non existing folder otherwise.

>      GCC_DIR:=gcc-arc-$(PKG_REV)
>      HOST_BUILD_DIR = $(BUILD_DIR_HOST)/$(PKG_NAME)-$(GCC_VERSION)
>  endif

.....
diff mbox

Patch

diff --git a/package/devel/gdb-arc/Makefile b/package/devel/gdb-arc/Makefile
index d5966c573d..6cdf6bdf5f 100644
--- a/package/devel/gdb-arc/Makefile
+++ b/package/devel/gdb-arc/Makefile
@@ -8,14 +8,14 @@ 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gdb-arc
-PKG_VERSION:=arc-2016.09-gdb
+PKG_VERSION:=arc-2017.03-gdb
 PKG_RELEASE:=1
 
-PKG_SOURCE:=gdb-arc-2016.09-gdb.tar.gz
+PKG_SOURCE:=gdb-arc-2017.03-gdb.tar.gz
 PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/$(PKG_VERSION)
 PKG_HASH:=6a91f86cc487c1548d3f5d4f29f7226d2019c0db8a63633aeabd5914a340f3f9
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/binutils-gdb-arc-2016.09-gdb
+PKG_BUILD_DIR:=$(BUILD_DIR)/binutils-gdb-arc-2017.03-gdb
 
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in
index 61529c2f1e..8fe33fb6b7 100644
--- a/toolchain/binutils/Config.in
+++ b/toolchain/binutils/Config.in
@@ -3,7 +3,7 @@ 
 choice
 	prompt "Binutils Version" if TOOLCHAINOPTS
 	default BINUTILS_USE_VERSION_2_28 if !arc
-	default BINUTILS_USE_VERSION_2_27_ARC if arc
+	default BINUTILS_USE_VERSION_2_28_ARC if arc
 	help
 	  Select the version of binutils you wish to use.
 
@@ -17,10 +17,10 @@  choice
 		bool "Binutils 2.28"
 		select BINUTILS_VERSION_2_28
 
-	config BINUTILS_USE_VERSION_2_27_ARC
+	config BINUTILS_USE_VERSION_2_28_ARC
 		depends on arc
-		bool "ARC binutils 2.27"
-		select BINUTILS_VERSION_2_27_ARC
+		bool "ARC binutils 2.28"
+		select BINUTILS_VERSION_2_28_ARC
 
 endchoice
 
diff --git a/toolchain/binutils/Config.version b/toolchain/binutils/Config.version
index e85c6d7e11..1b223e4109 100644
--- a/toolchain/binutils/Config.version
+++ b/toolchain/binutils/Config.version
@@ -5,7 +5,7 @@  config BINUTILS_VERSION_2_28
 	default y if (!TOOLCHAINOPTS && !arc)
 	bool
 
-config BINUTILS_VERSION_2_27_ARC
+config BINUTILS_VERSION_2_28_ARC
 	default y if (!TOOLCHAINOPTS && arc)
 	bool
 
@@ -13,4 +13,4 @@  config BINUTILS_VERSION
 	string
 	default "2.27"		       if BINUTILS_VERSION_2_27
 	default "2.28"		       if BINUTILS_VERSION_2_28
-	default "arc-2016.09"          if BINUTILS_VERSION_2_27_ARC
+	default "arc-2017.03"          if BINUTILS_VERSION_2_28_ARC
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index 459f54587b..6df11fbd3c 100644
--- a/toolchain/binutils/Makefile
+++ b/toolchain/binutils/Makefile
@@ -21,11 +21,11 @@  ifeq ($(PKG_VERSION),2.28)
   PKG_HASH:=6297433ee120b11b4b0a1c8f3512d7d73501753142ab9e2daa13c5a3edd32a72
 endif
 
-ifneq ($(CONFIG_BINUTILS_VERSION_2_27_ARC),)
-  PKG_REV:=arc-2016.09-release
+ifneq ($(CONFIG_BINUTILS_VERSION_2_28_ARC),)
+  PKG_REV:=arc-2017.03-release
   PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/$(PKG_REV)/
   PKG_SOURCE:=$(PKG_NAME)-$(PKG_REV).tar.gz
-  PKG_HASH:=c6de8aedb7568406d784295476de9139a5e351e970e18b602e0037439b3a7b4b
+  PKG_HASH:=f9c1e09ef10aaf9619181f49587f464ba0a70d29b7f6f879047140acac852409
   BINUTILS_DIR:=$(PKG_NAME)-gdb-$(PKG_REV)
   HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(BINUTILS_DIR)
 endif
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index 84f2b9675d..ea33ac29c1 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -2,14 +2,14 @@ 
 
 choice
 	prompt "GCC compiler Version" if TOOLCHAINOPTS
-	default GCC_USE_VERSION_6_2_ARC if arc
+	default GCC_USE_VERSION_6_3_ARC if arc
 	default GCC_USE_VERSION_5
 	help
 	  Select the version of gcc you wish to use.
 
-	config GCC_USE_VERSION_6_2_ARC
-		select GCC_VERSION_6_2_ARC
-		bool "gcc 6.2.x with support of ARC cores"
+	config GCC_USE_VERSION_6_3_ARC
+		select GCC_VERSION_6_3_ARC
+		bool "gcc 6.3.x with support of ARC cores"
 		depends on arc
 
 	config GCC_USE_VERSION_5
diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version
index 167f4316b4..86c723dc9a 100644
--- a/toolchain/gcc/Config.version
+++ b/toolchain/gcc/Config.version
@@ -1,14 +1,14 @@ 
-config GCC_VERSION_6_2_ARC
+config GCC_VERSION_6_3_ARC
 	default y if (!TOOLCHAINOPTS && arc)
 	bool
 
 config GCC_VERSION
 	string
-	default "arc-2016.09-release"   if GCC_VERSION_6_2_ARC
+	default "arc-2017.03-release"   if GCC_VERSION_6_3_ARC
 	default "6.3.0"         if GCC_USE_VERSION_6
 	default "7.1.0"         if GCC_USE_VERSION_7
 	default "5.4.0"
 
-config GCC_VERSION_6_2
+config GCC_VERSION_6_3
 	bool
-	default y	if GCC_VERSION_6_2_ARC
+	default y	if GCC_VERSION_6_3_ARC
diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk
index b28d3ce36b..5b5cbd17d1 100644
--- a/toolchain/gcc/common.mk
+++ b/toolchain/gcc/common.mk
@@ -40,12 +40,12 @@  ifeq ($(PKG_VERSION),7.1.0)
   PKG_HASH:=8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17
 endif
 
-ifneq ($(CONFIG_GCC_VERSION_6_2_ARC),)
-    PKG_VERSION:=6.2.1
+ifneq ($(CONFIG_GCC_VERSION_6_3_ARC),)
+    PKG_VERSION:=6.3.0
     PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/archive/$(GCC_VERSION)
     PKG_SOURCE:=$(PKG_NAME)-$(GCC_VERSION).tar.gz
-    PKG_HASH:=d6f842dd266ccb0d5a53b51e2b2951503569f2ff3c84f81b2a1d9fea109ec077
-    PKG_REV:=2016.09
+    PKG_HASH:=b7223e134199b1a6f71de629da6aa845790e55d28e9892143dde09b1bc878110
+    PKG_REV:=2017.03
     GCC_DIR:=gcc-arc-$(PKG_REV)
     HOST_BUILD_DIR = $(BUILD_DIR_HOST)/$(PKG_NAME)-$(GCC_VERSION)
 endif
diff --git a/toolchain/gcc/patches/arc-2016.09-release/001-revert_register_mode_search.patch b/toolchain/gcc/patches/arc-2017.03-release/001-revert_register_mode_search.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/001-revert_register_mode_search.patch
rename to toolchain/gcc/patches/arc-2017.03-release/001-revert_register_mode_search.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/002-case_insensitive.patch b/toolchain/gcc/patches/arc-2017.03-release/002-case_insensitive.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/002-case_insensitive.patch
rename to toolchain/gcc/patches/arc-2017.03-release/002-case_insensitive.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/010-documentation.patch b/toolchain/gcc/patches/arc-2017.03-release/010-documentation.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/010-documentation.patch
rename to toolchain/gcc/patches/arc-2017.03-release/010-documentation.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/230-musl_libssp.patch b/toolchain/gcc/patches/arc-2017.03-release/230-musl_libssp.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/230-musl_libssp.patch
rename to toolchain/gcc/patches/arc-2017.03-release/230-musl_libssp.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/280-musl-disable-ifunc-by-default.patch b/toolchain/gcc/patches/arc-2017.03-release/280-musl-disable-ifunc-by-default.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/280-musl-disable-ifunc-by-default.patch
rename to toolchain/gcc/patches/arc-2017.03-release/280-musl-disable-ifunc-by-default.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/300-mips_Os_cpu_rtx_cost_model.patch b/toolchain/gcc/patches/arc-2017.03-release/300-mips_Os_cpu_rtx_cost_model.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/300-mips_Os_cpu_rtx_cost_model.patch
rename to toolchain/gcc/patches/arc-2017.03-release/300-mips_Os_cpu_rtx_cost_model.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/800-arm_v5te_no_ldrd_strd.patch b/toolchain/gcc/patches/arc-2017.03-release/800-arm_v5te_no_ldrd_strd.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/800-arm_v5te_no_ldrd_strd.patch
rename to toolchain/gcc/patches/arc-2017.03-release/800-arm_v5te_no_ldrd_strd.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/810-arm-softfloat-libgcc.patch b/toolchain/gcc/patches/arc-2017.03-release/810-arm-softfloat-libgcc.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/810-arm-softfloat-libgcc.patch
rename to toolchain/gcc/patches/arc-2017.03-release/810-arm-softfloat-libgcc.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/820-libgcc_pic.patch b/toolchain/gcc/patches/arc-2017.03-release/820-libgcc_pic.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/820-libgcc_pic.patch
rename to toolchain/gcc/patches/arc-2017.03-release/820-libgcc_pic.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/830-arm_unbreak_armv4t.patch b/toolchain/gcc/patches/arc-2017.03-release/830-arm_unbreak_armv4t.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/830-arm_unbreak_armv4t.patch
rename to toolchain/gcc/patches/arc-2017.03-release/830-arm_unbreak_armv4t.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/840-armv4_pass_fix-v4bx_to_ld.patch b/toolchain/gcc/patches/arc-2017.03-release/840-armv4_pass_fix-v4bx_to_ld.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/840-armv4_pass_fix-v4bx_to_ld.patch
rename to toolchain/gcc/patches/arc-2017.03-release/840-armv4_pass_fix-v4bx_to_ld.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/850-use_shared_libgcc.patch b/toolchain/gcc/patches/arc-2017.03-release/850-use_shared_libgcc.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/850-use_shared_libgcc.patch
rename to toolchain/gcc/patches/arc-2017.03-release/850-use_shared_libgcc.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/851-libgcc_no_compat.patch b/toolchain/gcc/patches/arc-2017.03-release/851-libgcc_no_compat.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/851-libgcc_no_compat.patch
rename to toolchain/gcc/patches/arc-2017.03-release/851-libgcc_no_compat.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/870-ppc_no_crtsavres.patch b/toolchain/gcc/patches/arc-2017.03-release/870-ppc_no_crtsavres.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/870-ppc_no_crtsavres.patch
rename to toolchain/gcc/patches/arc-2017.03-release/870-ppc_no_crtsavres.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/880-no_java_section.patch b/toolchain/gcc/patches/arc-2017.03-release/880-no_java_section.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/880-no_java_section.patch
rename to toolchain/gcc/patches/arc-2017.03-release/880-no_java_section.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/881-no_tm_section.patch b/toolchain/gcc/patches/arc-2017.03-release/881-no_tm_section.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/881-no_tm_section.patch
rename to toolchain/gcc/patches/arc-2017.03-release/881-no_tm_section.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/900-bad-mips16-crt.patch b/toolchain/gcc/patches/arc-2017.03-release/900-bad-mips16-crt.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/900-bad-mips16-crt.patch
rename to toolchain/gcc/patches/arc-2017.03-release/900-bad-mips16-crt.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/910-mbsd_multi.patch b/toolchain/gcc/patches/arc-2017.03-release/910-mbsd_multi.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/910-mbsd_multi.patch
rename to toolchain/gcc/patches/arc-2017.03-release/910-mbsd_multi.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/920-specs_nonfatal_getenv.patch b/toolchain/gcc/patches/arc-2017.03-release/920-specs_nonfatal_getenv.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/920-specs_nonfatal_getenv.patch
rename to toolchain/gcc/patches/arc-2017.03-release/920-specs_nonfatal_getenv.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/930-fix-mips-noexecstack.patch b/toolchain/gcc/patches/arc-2017.03-release/930-fix-mips-noexecstack.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/930-fix-mips-noexecstack.patch
rename to toolchain/gcc/patches/arc-2017.03-release/930-fix-mips-noexecstack.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/940-no-clobber-stamp-bits.patch b/toolchain/gcc/patches/arc-2017.03-release/940-no-clobber-stamp-bits.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/940-no-clobber-stamp-bits.patch
rename to toolchain/gcc/patches/arc-2017.03-release/940-no-clobber-stamp-bits.patch
diff --git a/toolchain/gcc/patches/arc-2016.09-release/950-cpp_file_path_translation.patch b/toolchain/gcc/patches/arc-2017.03-release/950-cpp_file_path_translation.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2016.09-release/950-cpp_file_path_translation.patch
rename to toolchain/gcc/patches/arc-2017.03-release/950-cpp_file_path_translation.patch
diff --git a/toolchain/gdb/Makefile b/toolchain/gdb/Makefile
index 72e1766c57..77e24f4609 100644
--- a/toolchain/gdb/Makefile
+++ b/toolchain/gdb/Makefile
@@ -9,11 +9,11 @@  include $(TOPDIR)/rules.mk
 PKG_NAME:=gdb
 
 ifeq ($(CONFIG_arc),y)
-PKG_VERSION:=arc-2016.09-gdb
+PKG_VERSION:=arc-2017.03-gdb
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/arc-2016.09-gdb
-PKG_HASH:=b7601f8953055c6768304da7f7ee48abc0fc0ad2bec8f93bbefb29780467f21d
+PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/arc-2017.03-gdb
+PKG_HASH:=f47930161e9e99c46ab018dabbf56024739dda29c51f92495eaa0d4d7e3511f6
 GDB_DIR:=binutils-$(PKG_NAME)-$(PKG_VERSION)
 PATCH_DIR:=./patches-arc
 else