cmd/go: link cgo into tests on darwin/arm

We currently have only one supported darwin/arm device, a locked iOS
machine. It requires cgo binaries.

Change-Id: If36a152e6a743e4a58ea3470e62cccb742630a5d
Reviewed-on: https://go-review.googlesource.com/5443
Reviewed-by: Russ Cox <rsc@golang.org>
diff --git a/src/cmd/go/test.go b/src/cmd/go/test.go
index a8110f3..c44a219 100644
--- a/src/cmd/go/test.go
+++ b/src/cmd/go/test.go
@@ -772,6 +772,10 @@
 		recompileForTest(pmain, p, ptest, testDir)
 	}
 
+	if buildContext.GOOS == "darwin" && buildContext.GOARCH == "arm" {
+		t.NeedCgo = true
+	}
+
 	for _, cp := range pmain.imports {
 		if len(cp.coverVars) > 0 {
 			t.Cover = append(t.Cover, coverInfo{cp, cp.coverVars})
@@ -1207,6 +1211,7 @@
 	NeedTest    bool
 	ImportXtest bool
 	NeedXtest   bool
+	NeedCgo     bool
 	Cover       []coverInfo
 }
 
@@ -1310,6 +1315,10 @@
 {{range $i, $p := .Cover}}
 	_cover{{$i}} {{$p.Package.ImportPath | printf "%q"}}
 {{end}}
+
+{{if .NeedCgo}}
+	_ "runtime/cgo"
+{{end}}
 )
 
 var tests = []testing.InternalTest{