Remove GCC toolchain as we never actually use it.

Bug: 132428451
Change-Id: I7dba1564bf2a54d3159b76c39afb249334ae6095
diff --git a/build/toolchain/embedded.gni b/build/toolchain/embedded.gni
index fa26b2e..beed6aa 100644
--- a/build/toolchain/embedded.gni
+++ b/build/toolchain/embedded.gni
@@ -170,40 +170,7 @@
   }
 }
 
-# Specialize for gcc.
-template("embedded_gcc_toolchain") {
-  assert(defined(invoker.tool_prefix),
-         "\"tool_prefix\" must be defined for ${target_name}.")
-  assert(defined(invoker.extra_defines),
-         "\"extra_defines\" must be defined for ${target_name}.")
-  assert(defined(invoker.extra_cflags),
-         "\"extra_cflags\" must be defined for ${target_name}.")
-  assert(defined(invoker.extra_ldflags),
-         "\"extra_ldflags\" must be defined for ${target_name}.")
-
-  embedded_cc_toolchain(target_name) {
-    cc = "${invoker.tool_prefix}gcc"
-    ld = "${invoker.tool_prefix}ld"
-
-    forward_variables_from(invoker,
-                           [
-                             "extra_defines",
-                             "extra_cflags",
-                             "extra_ldflags",
-                           ])
-
-    extra_cflags += " -fdiagnostics-color=always"
-
-    toolchain_args = {
-      tool_prefix = invoker.tool_prefix
-      if (defined(invoker.toolchain_args)) {
-        forward_variables_from(invoker.toolchain_args, "*")
-      }
-    }
-  }
-}
-
-# Expand to clang and gcc variants.
+# Expand to clang variants.
 template("embedded_platform_toolchain") {
   assert(defined(invoker.arch), "\"arch\" must be defined for ${target_name}.")
   assert(defined(invoker.target),
@@ -244,7 +211,6 @@
       forward_variables_from(invoker.toolchain_args, "*")
     }
   }
-  tool_prefix = invoker.tool_prefix
 
   embedded_clang_toolchain("${target_name}_clang") {
     target = invoker.target
@@ -252,9 +218,7 @@
 
   embedded_clang_bfd_toolchain("${target_name}_clang_bfd") {
     target = invoker.target
-  }
-
-  embedded_gcc_toolchain("${target_name}_gcc") {
+    tool_prefix = invoker.tool_prefix
   }
 }
 
diff --git a/build/toolchain/host.gni b/build/toolchain/host.gni
index 4d2dfa3..535ec61 100644
--- a/build/toolchain/host.gni
+++ b/build/toolchain/host.gni
@@ -158,28 +158,4 @@
       }
     }
   }
-
-  # Specialize for gcc.
-  host_cc_toolchain("${target_name}_gcc") {
-    ar = "ar"
-    cc = "gcc -fdiagnostics-color=always"
-    cxx = "g++ -fdiagnostics-color=always"
-
-    # TODO: remove the need for this
-    extra_defines = "-DPL011_BASE=0"
-
-    if (invoker.use_platform) {
-      toolchain_args = {
-        use_platform = true
-
-        # When building for the ${target_name}, use the fake architecture to make things
-        # testable.
-        plat_arch = "fake"
-        plat_console = "//src/arch/fake:console"
-        plat_heap_pages = invoker.heap_pages
-        plat_max_cpus = invoker.max_cpus
-        plat_max_vms = invoker.max_vms
-      }
-    }
-  }
 }
diff --git a/docs/GettingStarted.md b/docs/GettingStarted.md
index 4ece4ec..b208175 100644
--- a/docs/GettingStarted.md
+++ b/docs/GettingStarted.md
@@ -22,7 +22,7 @@
 Install prerequisites:
 
 ```shell
-sudo apt install make binutils-aarch64-linux-gnu aarch64-linux-gnu-gcc device-tree-compiler libssl-dev flex bison
+sudo apt install make binutils-aarch64-linux-gnu device-tree-compiler libssl-dev flex bison
 ```
 
 By default, the hypervisor is built with clang for a few target platforms along
diff --git a/project/reference b/project/reference
index 3fe2408..2b571af 160000
--- a/project/reference
+++ b/project/reference
@@ -1 +1 @@
-Subproject commit 3fe2408c6b10192ee285b611062f9eae814577c5
+Subproject commit 2b571afde8f1e48b8708e7bb940786dc11dbf0e3