diff -r 070005ab99f5 libgo/configure.ac --- a/libgo/configure.ac Sun Jan 05 19:00:53 2014 -0800 +++ b/libgo/configure.ac Mon Jan 06 11:13:23 2014 -0800 @@ -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) diff -r 070005ab99f5 libgo/go/go/build/build.go --- a/libgo/go/go/build/build.go Sun Jan 05 19:00:53 2014 -0800 +++ b/libgo/go/go/build/build.go Mon Jan 06 11:13:23 2014 -0800 @@ -1211,6 +1211,8 @@ return "6", nil case "arm": return "5", nil + case "arm64": + return "7", nil } return "", errors.New("unsupported GOARCH " + goarch) } diff -r 070005ab99f5 libgo/go/go/build/deps_test.go --- a/libgo/go/go/build/deps_test.go Sun Jan 05 19:00:53 2014 -0800 +++ b/libgo/go/go/build/deps_test.go Mon Jan 06 11:13:23 2014 -0800 @@ -360,7 +360,7 @@ var bools = []bool{false, true} var geese = []string{"darwin", "dragonfly", "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 diff -r 070005ab99f5 libgo/go/go/build/syslist.go --- a/libgo/go/go/build/syslist.go Sun Jan 05 19:00:53 2014 -0800 +++ b/libgo/go/go/build/syslist.go Mon Jan 06 11:13:23 2014 -0800 @@ -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 " diff -r 070005ab99f5 libgo/go/runtime/extern.go --- a/libgo/go/runtime/extern.go Sun Jan 05 19:00:53 2014 -0800 +++ b/libgo/go/runtime/extern.go Mon Jan 06 11:13:23 2014 -0800 @@ -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