On arm64 hosts, set host_cpu to 'arm64', not 'arm'. The existing `substr()` was likely to make armv7 etc all map to "arm". 64-bit arm hosts should get "arm64", to be consistent with target_cpu. At least on macOS, OperatingSystemArchitecture() returns "arm64", not "aarch64". Change-Id: I95b4d84040ad9984e303ced74a3a2685304bc78b Reviewed-on: https://gn-review.googlesource.com/c/gn/+/9261 Reviewed-by: Brett Wilson <brettw@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org>
diff --git a/src/gn/args.cc b/src/gn/args.cc index c40c7e1..4d5a720 100644 --- a/src/gn/args.cc +++ b/src/gn/args.cc
@@ -342,10 +342,10 @@ arch = kX86; else if (os_arch == "x86_64") arch = kX64; + else if (os_arch == "aarch64" || os_arch == "arm64") + arch = kArm64; else if (os_arch.substr(0, 3) == "arm") arch = kArm; - else if (os_arch == "aarch64") - arch = kArm64; else if (os_arch == "mips") arch = kMips; else if (os_arch == "mips64")