diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version
index 53caa24577b37701c0599b937a8d1cbdd295be45..27aa20cb394a99d612b652af590db0a86003b60f 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 "arc-2016.03"   if GCC_VERSION_4_8_ARC
-	default "6.1.0"         if GCC_USE_VERSION_6
+	default "6.2.0"         if GCC_USE_VERSION_6
 	default "5.4.0"
 
 config GCC_VERSION_4_8
diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk
index 4220cf54f3ccbd039cc5ac4245e3f47961f23f51..c6949dc7b48c6d3807e91467083c92c1e42af358 100644
--- a/toolchain/gcc/common.mk
+++ b/toolchain/gcc/common.mk
@@ -32,8 +32,8 @@ ifeq ($(PKG_VERSION),5.4.0)
   PKG_MD5SUM:=4c626ac2a83ef30dfb9260e6f59c2b30
 endif
 
-ifeq ($(PKG_VERSION),6.1.0)
-  PKG_MD5SUM:=8fb6cb98b8459f5863328380fbf06bd1
+ifeq ($(PKG_VERSION),6.2.0)
+  PKG_MD5SUM:=9768625159663b300ae4de2f4745fcc4
 endif
 
 ifneq ($(CONFIG_GCC_VERSION_4_8_ARC),)
diff --git a/toolchain/gcc/patches/6.1.0/001-revert_register_mode_search.patch b/toolchain/gcc/patches/6.2.0/001-revert_register_mode_search.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/001-revert_register_mode_search.patch
rename to toolchain/gcc/patches/6.2.0/001-revert_register_mode_search.patch
diff --git a/toolchain/gcc/patches/6.1.0/002-case_insensitive.patch b/toolchain/gcc/patches/6.2.0/002-case_insensitive.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/002-case_insensitive.patch
rename to toolchain/gcc/patches/6.2.0/002-case_insensitive.patch
diff --git a/toolchain/gcc/patches/6.1.0/010-documentation.patch b/toolchain/gcc/patches/6.2.0/010-documentation.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/010-documentation.patch
rename to toolchain/gcc/patches/6.2.0/010-documentation.patch
diff --git a/toolchain/gcc/patches/6.1.0/100-uclibc-conf.patch b/toolchain/gcc/patches/6.2.0/100-uclibc-conf.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/100-uclibc-conf.patch
rename to toolchain/gcc/patches/6.2.0/100-uclibc-conf.patch
diff --git a/toolchain/gcc/patches/6.1.0/230-musl_libssp.patch b/toolchain/gcc/patches/6.2.0/230-musl_libssp.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/230-musl_libssp.patch
rename to toolchain/gcc/patches/6.2.0/230-musl_libssp.patch
diff --git a/toolchain/gcc/patches/6.1.0/300-mips_Os_cpu_rtx_cost_model.patch b/toolchain/gcc/patches/6.2.0/300-mips_Os_cpu_rtx_cost_model.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/300-mips_Os_cpu_rtx_cost_model.patch
rename to toolchain/gcc/patches/6.2.0/300-mips_Os_cpu_rtx_cost_model.patch
diff --git a/toolchain/gcc/patches/6.1.0/800-arm_v5te_no_ldrd_strd.patch b/toolchain/gcc/patches/6.2.0/800-arm_v5te_no_ldrd_strd.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/800-arm_v5te_no_ldrd_strd.patch
rename to toolchain/gcc/patches/6.2.0/800-arm_v5te_no_ldrd_strd.patch
diff --git a/toolchain/gcc/patches/6.1.0/810-arm-softfloat-libgcc.patch b/toolchain/gcc/patches/6.2.0/810-arm-softfloat-libgcc.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/810-arm-softfloat-libgcc.patch
rename to toolchain/gcc/patches/6.2.0/810-arm-softfloat-libgcc.patch
diff --git a/toolchain/gcc/patches/6.1.0/820-libgcc_pic.patch b/toolchain/gcc/patches/6.2.0/820-libgcc_pic.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/820-libgcc_pic.patch
rename to toolchain/gcc/patches/6.2.0/820-libgcc_pic.patch
diff --git a/toolchain/gcc/patches/6.1.0/830-arm_unbreak_armv4t.patch b/toolchain/gcc/patches/6.2.0/830-arm_unbreak_armv4t.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/830-arm_unbreak_armv4t.patch
rename to toolchain/gcc/patches/6.2.0/830-arm_unbreak_armv4t.patch
diff --git a/toolchain/gcc/patches/6.1.0/840-armv4_pass_fix-v4bx_to_ld.patch b/toolchain/gcc/patches/6.2.0/840-armv4_pass_fix-v4bx_to_ld.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/840-armv4_pass_fix-v4bx_to_ld.patch
rename to toolchain/gcc/patches/6.2.0/840-armv4_pass_fix-v4bx_to_ld.patch
diff --git a/toolchain/gcc/patches/6.1.0/850-use_shared_libgcc.patch b/toolchain/gcc/patches/6.2.0/850-use_shared_libgcc.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/850-use_shared_libgcc.patch
rename to toolchain/gcc/patches/6.2.0/850-use_shared_libgcc.patch
diff --git a/toolchain/gcc/patches/6.1.0/851-libgcc_no_compat.patch b/toolchain/gcc/patches/6.2.0/851-libgcc_no_compat.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/851-libgcc_no_compat.patch
rename to toolchain/gcc/patches/6.2.0/851-libgcc_no_compat.patch
diff --git a/toolchain/gcc/patches/6.1.0/870-ppc_no_crtsavres.patch b/toolchain/gcc/patches/6.2.0/870-ppc_no_crtsavres.patch
similarity index 84%
rename from toolchain/gcc/patches/6.1.0/870-ppc_no_crtsavres.patch
rename to toolchain/gcc/patches/6.2.0/870-ppc_no_crtsavres.patch
index 71671619eeffd02c9ca418808de5992a1f0b9f3f..c1eaf975c35d8e58e109fbfac71e4cd942130c3e 100644
--- a/toolchain/gcc/patches/6.1.0/870-ppc_no_crtsavres.patch
+++ b/toolchain/gcc/patches/6.2.0/870-ppc_no_crtsavres.patch
@@ -1,6 +1,6 @@
 --- a/gcc/config/rs6000/rs6000.c
 +++ b/gcc/config/rs6000/rs6000.c
-@@ -23090,7 +23090,7 @@ rs6000_savres_strategy (rs6000_stack_t *
+@@ -24141,7 +24141,7 @@ rs6000_savres_strategy (rs6000_stack_t *
    /* Define cutoff for using out-of-line functions to save registers.  */
    if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
      {
diff --git a/toolchain/gcc/patches/6.1.0/880-no_java_section.patch b/toolchain/gcc/patches/6.2.0/880-no_java_section.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/880-no_java_section.patch
rename to toolchain/gcc/patches/6.2.0/880-no_java_section.patch
diff --git a/toolchain/gcc/patches/6.1.0/900-bad-mips16-crt.patch b/toolchain/gcc/patches/6.2.0/900-bad-mips16-crt.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/900-bad-mips16-crt.patch
rename to toolchain/gcc/patches/6.2.0/900-bad-mips16-crt.patch
diff --git a/toolchain/gcc/patches/6.1.0/910-mbsd_multi.patch b/toolchain/gcc/patches/6.2.0/910-mbsd_multi.patch
similarity index 98%
rename from toolchain/gcc/patches/6.1.0/910-mbsd_multi.patch
rename to toolchain/gcc/patches/6.2.0/910-mbsd_multi.patch
index 0265d68952acd9a187c7b71732e5c71b196d5de2..62203dfcf6aa9ef0df1d6ad66a3c4393dfefb126 100644
--- a/toolchain/gcc/patches/6.1.0/910-mbsd_multi.patch
+++ b/toolchain/gcc/patches/6.2.0/910-mbsd_multi.patch
@@ -178,7 +178,7 @@
  -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
  -Wformat-security  -Wformat-signedness  -Wformat-y2k -Wframe-address @gol
  -Wframe-larger-than=@var{len} -Wno-free-nonheap-object -Wjump-misses-init @gol
-@@ -5736,6 +5736,22 @@ This option is only supported for C and
+@@ -5737,6 +5737,22 @@ This option is only supported for C and
  @option{-Wall} and by @option{-Wpedantic}, which can be disabled with
  @option{-Wno-pointer-sign}.
  
@@ -201,7 +201,7 @@
  @item -Wstack-protector
  @opindex Wstack-protector
  @opindex Wno-stack-protector
-@@ -6604,7 +6620,7 @@ so, the first branch is redirected to ei
+@@ -6605,7 +6621,7 @@ so, the first branch is redirected to ei
  second branch or a point immediately following it, depending on whether
  the condition is known to be true or false.
  
diff --git a/toolchain/gcc/patches/6.1.0/920-specs_nonfatal_getenv.patch b/toolchain/gcc/patches/6.2.0/920-specs_nonfatal_getenv.patch
similarity index 86%
rename from toolchain/gcc/patches/6.1.0/920-specs_nonfatal_getenv.patch
rename to toolchain/gcc/patches/6.2.0/920-specs_nonfatal_getenv.patch
index 6d9672e506cab5733eb577fc99fc99f48bb7d773..dc0acb95a8e748c06c8457290421731c5bcc1f8c 100644
--- a/toolchain/gcc/patches/6.1.0/920-specs_nonfatal_getenv.patch
+++ b/toolchain/gcc/patches/6.2.0/920-specs_nonfatal_getenv.patch
@@ -1,6 +1,6 @@
 --- a/gcc/gcc.c
 +++ b/gcc/gcc.c
-@@ -9194,8 +9194,10 @@ getenv_spec_function (int argc, const ch
+@@ -9198,8 +9198,10 @@ getenv_spec_function (int argc, const ch
      value = varname;
  
    if (!value)
diff --git a/toolchain/gcc/patches/6.1.0/930-fix-mips-noexecstack.patch b/toolchain/gcc/patches/6.2.0/930-fix-mips-noexecstack.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/930-fix-mips-noexecstack.patch
rename to toolchain/gcc/patches/6.2.0/930-fix-mips-noexecstack.patch
diff --git a/toolchain/gcc/patches/6.1.0/940-no-clobber-stamp-bits.patch b/toolchain/gcc/patches/6.2.0/940-no-clobber-stamp-bits.patch
similarity index 100%
rename from toolchain/gcc/patches/6.1.0/940-no-clobber-stamp-bits.patch
rename to toolchain/gcc/patches/6.2.0/940-no-clobber-stamp-bits.patch
diff --git a/toolchain/gcc/patches/6.1.0/950-cpp_file_path_translation.patch b/toolchain/gcc/patches/6.2.0/950-cpp_file_path_translation.patch
similarity index 98%
rename from toolchain/gcc/patches/6.1.0/950-cpp_file_path_translation.patch
rename to toolchain/gcc/patches/6.2.0/950-cpp_file_path_translation.patch
index 5b0d6ccacf9cc12013735676c7672a06b8d71186..d467eb7c9a1ef60bdf938cfa5d8f2a3f00b3a1f1 100644
--- a/toolchain/gcc/patches/6.1.0/950-cpp_file_path_translation.patch
+++ b/toolchain/gcc/patches/6.2.0/950-cpp_file_path_translation.patch
@@ -64,7 +64,7 @@ Forward ported from attachment to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=4
  
  @item Code Generation Options
  @xref{Code Gen Options,,Options for Code Generation Conventions}.
-@@ -10860,6 +10860,12 @@ be searched for header files only for th
+@@ -10861,6 +10861,12 @@ be searched for header files only for th
  "@var{file}"}; they are not searched for @code{#include <@var{file}>},
  otherwise just like @option{-I}.