# DP: Introduce the arm64 goarch. --- a/src/gcc/testsuite/go.test/go-test.exp +++ b/src/gcc/testsuite/go.test/go-test.exp @@ -172,6 +172,9 @@ global target_triplet switch -glob $target_triplet { + "aarch64*-*-*" { + set goarch "arm64" + } "alpha*-*-*" { set goarch "alpha" } --- a/src/libgo/configure.ac +++ b/src/libgo/configure.ac @@ -174,6 +174,7 @@ is_386=no is_alpha=no is_arm=no +is_arm64=no is_m68k=no mips_abi=unknown is_ppc=no @@ -187,6 +188,10 @@ is_alpha=yes GOARCH=alpha ;; + aarch64-*-*) + is_arm64=yes + GOARCH=arm64 + ;; arm*-*-* | strongarm*-*-* | ep9312*-*-* | xscale-*-*) is_arm=yes GOARCH=arm @@ -267,6 +272,7 @@ AM_CONDITIONAL(LIBGO_IS_386, test $is_386 = yes) AM_CONDITIONAL(LIBGO_IS_ALPHA, test $is_alpha = yes) AM_CONDITIONAL(LIBGO_IS_ARM, test $is_arm = yes) +AM_CONDITIONAL(LIBGO_IS_ARM64, test $is_arm64 = yes) AM_CONDITIONAL(LIBGO_IS_M68K, test $is_m68k = yes) AM_CONDITIONAL(LIBGO_IS_MIPS, test $mips_abi != unknown) AM_CONDITIONAL(LIBGO_IS_MIPSO32, test $mips_abi = o32) --- a/src/libgo/go/go/build/build.go +++ b/src/libgo/go/go/build/build.go @@ -1211,6 +1211,8 @@ return "6", nil case "arm": return "5", nil + case "arm64": + return "7", nil } return "", errors.New("unsupported GOARCH " + goarch) } --- a/src/libgo/go/go/build/deps_test.go +++ b/src/libgo/go/go/build/deps_test.go @@ -360,7 +360,7 @@ var bools = []bool{false, true} var geese = []string{"darwin", "freebsd", "linux", "netbsd", "openbsd", "plan9", "windows"} -var goarches = []string{"386", "amd64", "arm"} +var goarches = []string{"386", "amd64", "arm", "arm64"} type osPkg struct { goos, pkg string --- a/src/libgo/go/go/build/syslist.go +++ b/src/libgo/go/go/build/syslist.go @@ -5,4 +5,4 @@ package build const goosList = "darwin dragonfly freebsd linux netbsd openbsd plan9 windows solaris " -const goarchList = "386 amd64 arm alpha m68k mipso32 mipsn32 mipsn64 mipso64 ppc ppc64 sparc sparc64 " +const goarchList = "386 amd64 arm arm64 alpha m68k mipso32 mipsn32 mipsn64 mipso64 ppc ppc64 sparc sparc64 " --- a/src/libgo/go/runtime/extern.go +++ b/src/libgo/go/runtime/extern.go @@ -185,5 +185,5 @@ const GOOS string = theGoos // GOARCH is the running program's architecture target: -// 386, amd64, or arm. +// 386, amd64, arm or arm64. const GOARCH string = theGoarch