diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in
index c32f43c..2960c94 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_25_1 if !arc
-	default BINUTILS_USE_VERSION_2_23_ARC if arc
+	default BINUTILS_USE_VERSION_2_26_ARC if arc
 	help
 	  Select the version of binutils you wish to use.
 
@@ -17,10 +17,10 @@ choice
 		bool "Binutils 2.25.1"
 		select BINUTILS_VERSION_2_25_1
 
-	config BINUTILS_USE_VERSION_2_23_ARC
+	config BINUTILS_USE_VERSION_2_26_ARC
 		depends on arc
-		bool "ARC binutils 2.23"
-		select BINUTILS_VERSION_2_23_ARC
+		bool "ARC binutils 2.26"
+		select BINUTILS_VERSION_2_26_ARC
 
 endchoice
 
diff --git a/toolchain/binutils/Config.version b/toolchain/binutils/Config.version
index bea748b..fc7a1f3 100644
--- a/toolchain/binutils/Config.version
+++ b/toolchain/binutils/Config.version
@@ -5,7 +5,7 @@ config BINUTILS_VERSION_2_25_1
 	default y if (!TOOLCHAINOPTS && !arc)
 	bool
 
-config BINUTILS_VERSION_2_23_ARC
+config BINUTILS_VERSION_2_26_ARC
 	default y if (!TOOLCHAINOPTS && arc)
 	bool
 
@@ -13,5 +13,5 @@ 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
+	default "arc-2016.03"          if BINUTILS_VERSION_2_26_ARC
 
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index c37148e..03fc76a 100644
--- a/toolchain/binutils/Makefile
+++ b/toolchain/binutils/Makefile
@@ -26,11 +26,11 @@ ifeq ($(findstring linaro, $(CONFIG_BINUTILS_VERSION)),linaro)
   HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(BINUTILS_DIR)
 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
+ifneq ($(CONFIG_BINUTILS_VERSION_2_26_ARC),)
+  PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/arc-2016.03/
+  PKG_REV:=2016.03
   PKG_SOURCE:=$(PKG_NAME)-arc-$(PKG_REV).tar.gz
-  PKG_MD5SUM:=961a3564de857238c255c381f8e4360b
+  PKG_MD5SUM:=d4387bab089df77a8049c81980b9fa12
   BINUTILS_DIR:=$(PKG_NAME)-gdb-arc-$(PKG_REV)
   HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(BINUTILS_DIR)
 endif
diff --git a/toolchain/binutils/patches/arc-2016.03/200-arc-fix-target-mask.patch b/toolchain/binutils/patches/arc-2016.03/200-arc-fix-target-mask.patch
new file mode 100644
index 0000000..7e51d58
--- /dev/null
+++ b/toolchain/binutils/patches/arc-2016.03/200-arc-fix-target-mask.patch
@@ -0,0 +1,13 @@
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index 5145d4a..a9c9c99 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -275,7 +275,7 @@ case "${targ}" in
+     targ_defvec=am33_elf32_linux_vec
+     ;;
+ 
+-  arc*-*-elf* | arc*-*-linux-uclibc*)
++  arc*-*-elf* | arc*-*-linux-*)
+     targ_defvec=arc_elf32_le_vec
+     targ_selvecs=arc_elf32_be_vec
+     ;;
diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version
index 5d393c5..f9e8c47 100644
--- a/toolchain/gcc/Config.version
+++ b/toolchain/gcc/Config.version
@@ -5,7 +5,7 @@ config GCC_VERSION_4_8_ARC
 config GCC_VERSION
 	string
 	default "4.8-linaro"    if GCC_VERSION_4_8_LINARO
-	default "arc-2015.06"   if GCC_VERSION_4_8_ARC
+	default "arc-2016.03"   if GCC_VERSION_4_8_ARC
 	default "5.3.0"
 
 config GCC_VERSION_4_8
diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk
index e1580cf..3a95ac2 100644
--- a/toolchain/gcc/common.mk
+++ b/toolchain/gcc/common.mk
@@ -33,11 +33,11 @@ ifeq ($(PKG_VERSION),5.3.0)
 endif
 
 ifneq ($(CONFIG_GCC_VERSION_4_8_ARC),)
-    PKG_VERSION:=4.8.4
-    PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/archive/arc-2015.06
+    PKG_VERSION:=4.8.5
+    PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/archive/arc-2016.03
     PKG_SOURCE:=$(PKG_NAME)-$(GCC_VERSION).tar.gz
-    PKG_MD5SUM:=25007ebb02a5f6c32532b103bb5984a0
-    PKG_REV:=2015.06
+    PKG_MD5SUM:=ca59c8140d6efd07b97a18869bddbb53
+    PKG_REV:=2016.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-2015.06/001-revert_register_mode_search.patch b/toolchain/gcc/patches/arc-2016.03/001-revert_register_mode_search.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/001-revert_register_mode_search.patch
rename to toolchain/gcc/patches/arc-2016.03/001-revert_register_mode_search.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/002-weak_data_fix.patch b/toolchain/gcc/patches/arc-2016.03/002-weak_data_fix.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/002-weak_data_fix.patch
rename to toolchain/gcc/patches/arc-2016.03/002-weak_data_fix.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/003-universal_initializer.patch b/toolchain/gcc/patches/arc-2016.03/003-universal_initializer.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/003-universal_initializer.patch
rename to toolchain/gcc/patches/arc-2016.03/003-universal_initializer.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/004-case_insensitive.patch b/toolchain/gcc/patches/arc-2016.03/004-case_insensitive.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/004-case_insensitive.patch
rename to toolchain/gcc/patches/arc-2016.03/004-case_insensitive.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/010-documentation.patch b/toolchain/gcc/patches/arc-2016.03/010-documentation.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/010-documentation.patch
rename to toolchain/gcc/patches/arc-2016.03/010-documentation.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/020-no-plt-backport.patch b/toolchain/gcc/patches/arc-2016.03/020-no-plt-backport.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/020-no-plt-backport.patch
rename to toolchain/gcc/patches/arc-2016.03/020-no-plt-backport.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/100-uclibc-conf.patch b/toolchain/gcc/patches/arc-2016.03/100-uclibc-conf.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/100-uclibc-conf.patch
rename to toolchain/gcc/patches/arc-2016.03/100-uclibc-conf.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/210-disable_libsanitizer_off_t_check.patch b/toolchain/gcc/patches/arc-2016.03/210-disable_libsanitizer_off_t_check.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/210-disable_libsanitizer_off_t_check.patch
rename to toolchain/gcc/patches/arc-2016.03/210-disable_libsanitizer_off_t_check.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/800-arc-disablelibgmon.patch b/toolchain/gcc/patches/arc-2016.03/800-arc-disablelibgmon.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/800-arc-disablelibgmon.patch
rename to toolchain/gcc/patches/arc-2016.03/800-arc-disablelibgmon.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/820-libgcc_pic.patch b/toolchain/gcc/patches/arc-2016.03/820-libgcc_pic.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/820-libgcc_pic.patch
rename to toolchain/gcc/patches/arc-2016.03/820-libgcc_pic.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/850-use_shared_libgcc.patch b/toolchain/gcc/patches/arc-2016.03/850-use_shared_libgcc.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/850-use_shared_libgcc.patch
rename to toolchain/gcc/patches/arc-2016.03/850-use_shared_libgcc.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/851-libgcc_no_compat.patch b/toolchain/gcc/patches/arc-2016.03/851-libgcc_no_compat.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/851-libgcc_no_compat.patch
rename to toolchain/gcc/patches/arc-2016.03/851-libgcc_no_compat.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/860-use_eh_frame.patch b/toolchain/gcc/patches/arc-2016.03/860-use_eh_frame.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/860-use_eh_frame.patch
rename to toolchain/gcc/patches/arc-2016.03/860-use_eh_frame.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/870-ppc_no_crtsavres.patch b/toolchain/gcc/patches/arc-2016.03/870-ppc_no_crtsavres.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/870-ppc_no_crtsavres.patch
rename to toolchain/gcc/patches/arc-2016.03/870-ppc_no_crtsavres.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/880-no_java_section.patch b/toolchain/gcc/patches/arc-2016.03/880-no_java_section.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/880-no_java_section.patch
rename to toolchain/gcc/patches/arc-2016.03/880-no_java_section.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/910-mbsd_multi.patch b/toolchain/gcc/patches/arc-2016.03/910-mbsd_multi.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/910-mbsd_multi.patch
rename to toolchain/gcc/patches/arc-2016.03/910-mbsd_multi.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/920-specs_nonfatal_getenv.patch b/toolchain/gcc/patches/arc-2016.03/920-specs_nonfatal_getenv.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/920-specs_nonfatal_getenv.patch
rename to toolchain/gcc/patches/arc-2016.03/920-specs_nonfatal_getenv.patch
diff --git a/toolchain/gcc/patches/arc-2015.06/940-no-clobber-stamp-bits.patch b/toolchain/gcc/patches/arc-2016.03/940-no-clobber-stamp-bits.patch
similarity index 100%
rename from toolchain/gcc/patches/arc-2015.06/940-no-clobber-stamp-bits.patch
rename to toolchain/gcc/patches/arc-2016.03/940-no-clobber-stamp-bits.patch
diff --git a/toolchain/gdb/Makefile b/toolchain/gdb/Makefile
index 0e1b0a2..97d88d6 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-2015.06-gdb
+PKG_VERSION:=arc-2016.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-2015.06-gdb/
-PKG_MD5SUM:=d318829bfd2ed62714817f0d25706825
+PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/archive/arc-2016.03-gdb
+PKG_MD5SUM:=775caaf6385c16f20b6f53c0a2b95f79
 GDB_DIR:=binutils-$(PKG_NAME)-$(PKG_VERSION)
 else
 PKG_VERSION:=7.11
diff --git a/toolchain/gdb/patches/arc-2015.06-gdb/100-no_extern_inline.patch b/toolchain/gdb/patches/arc-2016.03/100-no_extern_inline.patch
similarity index 91%
rename from toolchain/gdb/patches/arc-2015.06-gdb/100-no_extern_inline.patch
rename to toolchain/gdb/patches/arc-2016.03/100-no_extern_inline.patch
index bbae1d7..8c18c6e 100644
--- a/toolchain/gdb/patches/arc-2015.06-gdb/100-no_extern_inline.patch
+++ b/toolchain/gdb/patches/arc-2016.03/100-no_extern_inline.patch
@@ -21,11 +21,11 @@
 +#endif /* DEFINE_NON_INLINE_P */
 --- a/sim/common/sim-arange.h
 +++ b/sim/common/sim-arange.h
-@@ -62,7 +62,7 @@ extern void sim_addr_range_delete (ADDR_
+@@ -73,7 +73,7 @@ extern void sim_addr_range_delete (ADDR_
  
  /* Return non-zero if ADDR is in range AR, traversing the entire tree.
     If no range is specified, that is defined to mean "everything".  */
--extern INLINE int
+-SIM_ARANGE_INLINE int
 +extern int
  sim_addr_range_hit_p (ADDR_RANGE * /*ar*/, address_word /*addr*/);
  #define ADDR_RANGE_HIT_P(ar, addr) \
diff --git a/toolchain/gdb/patches/arc-2015.06-gdb/110-no_testsuite.patch b/toolchain/gdb/patches/arc-2016.03/110-no_testsuite.patch
similarity index 73%
rename from toolchain/gdb/patches/arc-2015.06-gdb/110-no_testsuite.patch
rename to toolchain/gdb/patches/arc-2016.03/110-no_testsuite.patch
index 5c5d15c..1b284ea 100644
--- a/toolchain/gdb/patches/arc-2015.06-gdb/110-no_testsuite.patch
+++ b/toolchain/gdb/patches/arc-2016.03/110-no_testsuite.patch
@@ -1,6 +1,6 @@
 --- a/gdb/configure
 +++ b/gdb/configure
-@@ -855,8 +855,7 @@ MAKEINFOFLAGS
+@@ -870,8 +870,7 @@ MAKEINFOFLAGS
  YACC
  YFLAGS
  XMKMF'
@@ -10,7 +10,7 @@
  multi-ice
  gdbserver'
  
-@@ -5168,7 +5167,7 @@ $as_echo "$with_auto_load_safe_path" >&6
+@@ -5610,7 +5610,7 @@ $as_echo "$with_auto_load_safe_path" >&6
  
  
  
diff --git a/toolchain/gdb/patches/arc-2015.06-gdb/120-fix-compile-flag-mismatch.patch b/toolchain/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch
similarity index 85%
rename from toolchain/gdb/patches/arc-2015.06-gdb/120-fix-compile-flag-mismatch.patch
rename to toolchain/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch
index ce34c95..c8b41f2 100644
--- a/toolchain/gdb/patches/arc-2015.06-gdb/120-fix-compile-flag-mismatch.patch
+++ b/toolchain/gdb/patches/arc-2016.03/120-fix-compile-flag-mismatch.patch
@@ -1,6 +1,6 @@
 --- a/gdb/gdbserver/configure
 +++ b/gdb/gdbserver/configure
-@@ -2183,7 +2183,7 @@ $as_echo "$as_me: error: \`$ac_var' was
+@@ -2468,7 +2468,7 @@ $as_echo "$as_me: error: \`$ac_var' was
        ac_cache_corrupted=: ;;
      ,);;
      *)
diff --git a/toolchain/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch b/toolchain/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch
new file mode 100644
index 0000000..7e51d58
--- /dev/null
+++ b/toolchain/gdb/patches/arc-2016.03/200-arc-fix-target-mask.patch
@@ -0,0 +1,13 @@
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index 5145d4a..a9c9c99 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -275,7 +275,7 @@ case "${targ}" in
+     targ_defvec=am33_elf32_linux_vec
+     ;;
+ 
+-  arc*-*-elf* | arc*-*-linux-uclibc*)
++  arc*-*-elf* | arc*-*-linux-*)
+     targ_defvec=arc_elf32_le_vec
+     targ_selvecs=arc_elf32_be_vec
+     ;;
