[build] Setup cross-build for ARM64 Mac; still doesn't link.

Bug: https://github.com/dart-lang/sdk/issues/42773
Change-Id: I7f5715952461ea87310dacb8aa37c66692b1aacc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184060
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
index ee58748..4afcb19 100644
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
@@ -402,8 +402,8 @@
     set_default_toolchain("//build/toolchain/linux:$current_cpu")
   }
 } else if (is_mac) {
-  host_toolchain = "//build/toolchain/mac:clang_x64"
-  set_default_toolchain(host_toolchain)
+  host_toolchain = "//build/toolchain/mac:clang_$host_cpu"
+  set_default_toolchain("//build/toolchain/mac:clang_$current_cpu")
 } else if (is_fuchsia) {
   assert(host_os == "linux")
   assert(host_cpu == "x64")
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 3e06c16..e6e7c2d 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -92,7 +92,7 @@
     }
 
     # Enable mitigations for Cortex-A53 Erratum #843419 bug.
-    if (current_cpu == "arm64" && is_clang) {
+    if (current_cpu == "arm64" && is_clang && !is_mac) {
       ldflags += [ "-Wl,--fix-cortex-a53-843419" ]
     }
 
diff --git a/build/toolchain/mac/BUILD.gn b/build/toolchain/mac/BUILD.gn
index c6f28d3..2b9c426 100644
--- a/build/toolchain/mac/BUILD.gn
+++ b/build/toolchain/mac/BUILD.gn
@@ -244,3 +244,19 @@
   }
   sysroot_flags = "-isysroot $mac_sdk_path -mmacosx-version-min=$mac_sdk_min"
 }
+
+mac_toolchain("clang_arm64") {
+  toolchain_cpu = "arm64"
+  toolchain_os = "mac"
+  prefix = rebase_path("//buildtools/mac-x64/clang/bin", root_build_dir)
+  cc = "${goma_prefix}$prefix/clang"
+  cxx = "${goma_prefix}$prefix/clang++"
+  ar = "${prefix}/llvm-ar"
+  ld = cxx
+  strip = "strip"
+  is_clang = true
+  if (mac_enable_relative_sdk_path) {
+    mac_sdk_path = rebase_path(mac_sdk_path, root_build_dir)
+  }
+  sysroot_flags = "-isysroot $mac_sdk_path -mmacosx-version-min=$mac_sdk_min"
+}