cmd/go: set buildmode=pie default for android/arm64.

Just like android/arm, android/arm64 refuses to execute non-PIE
binaries. In addition, starting from the M release (Marshmallow),
Android refuses to execute binaries with any text relocations
(this was just a warning in the L release). This makes "-shared"
necessary as well when building executables for Android.

Change-Id: Id8802de5be98ff472fc370f8d22ffbde316aaf1e
Reviewed-on: https://go-review.googlesource.com/16744
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/cmd/go/build.go b/src/cmd/go/build.go
index c110c7c..3d68715 100644
--- a/src/cmd/go/build.go
+++ b/src/cmd/go/build.go
@@ -361,7 +361,7 @@
 		ldBuildmode = "c-shared"
 	case "default":
 		switch platform {
-		case "android/arm", "android/amd64":
+		case "android/arm", "android/arm64", "android/amd64":
 			codegenArg = "-shared"
 			ldBuildmode = "pie"
 		default:
@@ -375,7 +375,7 @@
 			fatalf("-buildmode=pie not supported by gccgo")
 		} else {
 			switch platform {
-			case "linux/arm", "android/arm", "linux/amd64", "android/amd64", "linux/arm64", "linux/ppc64le":
+			case "linux/arm", "android/arm", "linux/amd64", "android/amd64", "linux/arm64", "android/arm64", "linux/ppc64le":
 				codegenArg = "-shared"
 			default:
 				fatalf("-buildmode=pie not supported on %s\n", platform)