diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version
index a6306990d9f8..6fbc6d980468 100644
--- a/toolchain/gcc/Config.version
+++ b/toolchain/gcc/Config.version
@@ -14,7 +14,7 @@ config GCC_VERSION
 	string
 	default "5.5.0"		if GCC_VERSION_5
 	default "7.5.0"		if GCC_VERSION_7
-	default "9.2.0"		if GCC_VERSION_9
+	default "9.3.0"		if GCC_VERSION_9
 	default "8.4.0"
 
 config GCC_USE_IREMAP
diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk
index 0105ec8720b0..5f237e4520fb 100644
--- a/toolchain/gcc/common.mk
+++ b/toolchain/gcc/common.mk
@@ -40,8 +40,8 @@ ifeq ($(PKG_VERSION),8.4.0)
   PKG_HASH:=e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4
 endif
 
-ifeq ($(PKG_VERSION),9.2.0)
-  PKG_HASH:=ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206
+ifeq ($(PKG_VERSION),9.3.0)
+  PKG_HASH:=71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1
 endif
 
 PATCH_DIR=../patches/$(GCC_VERSION)
diff --git a/toolchain/gcc/patches/9.2.0/100-Fix_uninitialised_use_in_mips_split_move.patch b/toolchain/gcc/patches/9.2.0/100-Fix_uninitialised_use_in_mips_split_move.patch
deleted file mode 100644
index 3529a19d8c51..000000000000
--- a/toolchain/gcc/patches/9.2.0/100-Fix_uninitialised_use_in_mips_split_move.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From d57faea9337ad595d005687247c3322252f70ba1 Mon Sep 17 00:00:00 2001
-From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Sun, 7 Jul 2019 09:49:14 +0000
-Subject: [PATCH] Fix uninitialised use in mips_split_move
-
-While testing the fix for PR91068, I hit an rtl checking failure
-while building newlib.  mips_split_move was decomposing an address that
-happened to be symbolic and then tried to access the REGNO of the base
-register field, which wasn't initialised but which by chance pointed to
-valid memory.
-
-2019-07-07  Richard Sandiford  <richard.sandiford@arm.com>
-
-gcc/
-	* config/mips/mips.c (mips_split_move): Zero-initialize addr
-	and check whether addr.reg is nonnull before using it.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@273174 138bc75d-0d04-0410-961f-82ee72b054a4
----
- gcc/ChangeLog          | 5 +++++
- gcc/config/mips/mips.c | 4 ++--
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
---- a/gcc/ChangeLog
-+++ b/gcc/ChangeLog
-@@ -1,3 +1,8 @@
-+2019-07-07  Richard Sandiford  <richard.sandiford@arm.com>
-+
-+	* config/mips/mips.c (mips_split_move): Zero-initialize addr
-+	and check whether addr.reg is nonnull before using it.
-+
- 2019-08-12  Release Manager
- 
- 	* GCC 9.2.0 released.
---- a/gcc/config/mips/mips.c
-+++ b/gcc/config/mips/mips.c
-@@ -4849,7 +4849,7 @@ mips_split_move (rtx dest, rtx src, enum
-      can forward SRC for DEST.  This is most useful if the next insn is a
-      simple store.   */
-   rtx_insn *insn = (rtx_insn *)insn_;
--  struct mips_address_info addr;
-+  struct mips_address_info addr = {};
-   if (insn)
-     {
-       rtx_insn *next = next_nonnote_nondebug_insn_bb (insn);
-@@ -4862,7 +4862,7 @@ mips_split_move (rtx dest, rtx src, enum
- 		{
- 		  rtx tmp = XEXP (src, 0);
- 		  mips_classify_address (&addr, tmp, GET_MODE (tmp), true);
--		  if (REGNO (addr.reg) != REGNO (dest))
-+		  if (addr.reg && REGNO (addr.reg) != REGNO (dest))
- 		    validate_change (next, &SET_SRC (set), src, false);
- 		}
- 	      else
diff --git a/toolchain/gcc/patches/9.2.0/002-case_insensitive.patch b/toolchain/gcc/patches/9.3.0/002-case_insensitive.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/002-case_insensitive.patch
rename to toolchain/gcc/patches/9.3.0/002-case_insensitive.patch
diff --git a/toolchain/gcc/patches/9.2.0/010-documentation.patch b/toolchain/gcc/patches/9.3.0/010-documentation.patch
similarity index 94%
rename from toolchain/gcc/patches/9.2.0/010-documentation.patch
rename to toolchain/gcc/patches/9.3.0/010-documentation.patch
index 2ceb9979600e..c3a6a15901d1 100644
--- a/toolchain/gcc/patches/9.2.0/010-documentation.patch
+++ b/toolchain/gcc/patches/9.3.0/010-documentation.patch
@@ -12,7 +12,7 @@ Date:   Tue Feb 26 16:16:33 2013 +0000
 
 --- a/gcc/Makefile.in
 +++ b/gcc/Makefile.in
-@@ -3202,18 +3202,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
+@@ -3203,18 +3203,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
  doc/gccint.info: $(TEXI_GCCINT_FILES)
  doc/cppinternals.info: $(TEXI_CPPINT_FILES)
  
diff --git a/toolchain/gcc/patches/9.2.0/110-Fix-MIPS-PR-84790.patch b/toolchain/gcc/patches/9.3.0/110-Fix-MIPS-PR-84790.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/110-Fix-MIPS-PR-84790.patch
rename to toolchain/gcc/patches/9.3.0/110-Fix-MIPS-PR-84790.patch
diff --git a/toolchain/gcc/patches/9.2.0/230-musl_libssp.patch b/toolchain/gcc/patches/9.3.0/230-musl_libssp.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/230-musl_libssp.patch
rename to toolchain/gcc/patches/9.3.0/230-musl_libssp.patch
diff --git a/toolchain/gcc/patches/9.2.0/300-mips_Os_cpu_rtx_cost_model.patch b/toolchain/gcc/patches/9.3.0/300-mips_Os_cpu_rtx_cost_model.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/300-mips_Os_cpu_rtx_cost_model.patch
rename to toolchain/gcc/patches/9.3.0/300-mips_Os_cpu_rtx_cost_model.patch
diff --git a/toolchain/gcc/patches/9.2.0/810-arm-softfloat-libgcc.patch b/toolchain/gcc/patches/9.3.0/810-arm-softfloat-libgcc.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/810-arm-softfloat-libgcc.patch
rename to toolchain/gcc/patches/9.3.0/810-arm-softfloat-libgcc.patch
diff --git a/toolchain/gcc/patches/9.2.0/820-libgcc_pic.patch b/toolchain/gcc/patches/9.3.0/820-libgcc_pic.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/820-libgcc_pic.patch
rename to toolchain/gcc/patches/9.3.0/820-libgcc_pic.patch
diff --git a/toolchain/gcc/patches/9.2.0/840-armv4_pass_fix-v4bx_to_ld.patch b/toolchain/gcc/patches/9.3.0/840-armv4_pass_fix-v4bx_to_ld.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/840-armv4_pass_fix-v4bx_to_ld.patch
rename to toolchain/gcc/patches/9.3.0/840-armv4_pass_fix-v4bx_to_ld.patch
diff --git a/toolchain/gcc/patches/9.2.0/850-use_shared_libgcc.patch b/toolchain/gcc/patches/9.3.0/850-use_shared_libgcc.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/850-use_shared_libgcc.patch
rename to toolchain/gcc/patches/9.3.0/850-use_shared_libgcc.patch
diff --git a/toolchain/gcc/patches/9.2.0/851-libgcc_no_compat.patch b/toolchain/gcc/patches/9.3.0/851-libgcc_no_compat.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/851-libgcc_no_compat.patch
rename to toolchain/gcc/patches/9.3.0/851-libgcc_no_compat.patch
diff --git a/toolchain/gcc/patches/9.2.0/870-ppc_no_crtsavres.patch b/toolchain/gcc/patches/9.3.0/870-ppc_no_crtsavres.patch
similarity index 84%
rename from toolchain/gcc/patches/9.2.0/870-ppc_no_crtsavres.patch
rename to toolchain/gcc/patches/9.3.0/870-ppc_no_crtsavres.patch
index 06bb0efda273..6ec22dd20182 100644
--- a/toolchain/gcc/patches/9.2.0/870-ppc_no_crtsavres.patch
+++ b/toolchain/gcc/patches/9.3.0/870-ppc_no_crtsavres.patch
@@ -1,6 +1,6 @@
 --- a/gcc/config/rs6000/rs6000.c
 +++ b/gcc/config/rs6000/rs6000.c
-@@ -24365,7 +24365,7 @@ rs6000_savres_strategy (rs6000_stack_t *
+@@ -24474,7 +24474,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/9.2.0/881-no_tm_section.patch b/toolchain/gcc/patches/9.3.0/881-no_tm_section.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/881-no_tm_section.patch
rename to toolchain/gcc/patches/9.3.0/881-no_tm_section.patch
diff --git a/toolchain/gcc/patches/9.2.0/900-bad-mips16-crt.patch b/toolchain/gcc/patches/9.3.0/900-bad-mips16-crt.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/900-bad-mips16-crt.patch
rename to toolchain/gcc/patches/9.3.0/900-bad-mips16-crt.patch
diff --git a/toolchain/gcc/patches/9.2.0/910-mbsd_multi.patch b/toolchain/gcc/patches/9.3.0/910-mbsd_multi.patch
similarity index 98%
rename from toolchain/gcc/patches/9.2.0/910-mbsd_multi.patch
rename to toolchain/gcc/patches/9.3.0/910-mbsd_multi.patch
index 3d47bf16ad9d..8908e7bfcf78 100644
--- a/toolchain/gcc/patches/9.2.0/910-mbsd_multi.patch
+++ b/toolchain/gcc/patches/9.3.0/910-mbsd_multi.patch
@@ -114,7 +114,7 @@ Date:   Tue Jul 31 00:52:27 2007 +0000
  ; On SVR4 targets, it also controls whether or not to emit a
 --- a/gcc/doc/invoke.texi
 +++ b/gcc/doc/invoke.texi
-@@ -7657,6 +7657,17 @@ This option is only supported for C and
+@@ -7666,6 +7666,17 @@ This option is only supported for C and
  @option{-Wall} and by @option{-Wpedantic}, which can be disabled with
  @option{-Wno-pointer-sign}.
  
diff --git a/toolchain/gcc/patches/9.2.0/920-specs_nonfatal_getenv.patch b/toolchain/gcc/patches/9.3.0/920-specs_nonfatal_getenv.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/920-specs_nonfatal_getenv.patch
rename to toolchain/gcc/patches/9.3.0/920-specs_nonfatal_getenv.patch
diff --git a/toolchain/gcc/patches/9.2.0/930-fix-mips-noexecstack.patch b/toolchain/gcc/patches/9.3.0/930-fix-mips-noexecstack.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/930-fix-mips-noexecstack.patch
rename to toolchain/gcc/patches/9.3.0/930-fix-mips-noexecstack.patch
diff --git a/toolchain/gcc/patches/9.2.0/931-libffi-fix-MIPS-softfloat-build-issue.patch b/toolchain/gcc/patches/9.3.0/931-libffi-fix-MIPS-softfloat-build-issue.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/931-libffi-fix-MIPS-softfloat-build-issue.patch
rename to toolchain/gcc/patches/9.3.0/931-libffi-fix-MIPS-softfloat-build-issue.patch
diff --git a/toolchain/gcc/patches/9.2.0/960-gotools-fix-compilation-when-making-cross-compiler.patch b/toolchain/gcc/patches/9.3.0/960-gotools-fix-compilation-when-making-cross-compiler.patch
similarity index 100%
rename from toolchain/gcc/patches/9.2.0/960-gotools-fix-compilation-when-making-cross-compiler.patch
rename to toolchain/gcc/patches/9.3.0/960-gotools-fix-compilation-when-making-cross-compiler.patch
