pair := gohostos + "-" + goarch
switch pair {
case "aix-ppc64",
- "android-arm",
+ "android-arm", "android-arm64",
"darwin-386", "darwin-amd64", "darwin-arm", "darwin-arm64",
"dragonfly-amd64",
"freebsd-386", "freebsd-amd64", "freebsd-arm",
}
func (t *tester) internalLinkPIE() bool {
- return goos == "linux" && (goarch == "amd64" || goarch == "arm64")
+ switch goos + "-" + goarch {
+ case "linux-amd64", "linux-arm64",
+ "android-arm64":
+ return true
+ }
+ return false
}
func (t *tester) supportedBuildmode(mode string) bool {
cmd = t.addCmd(dt, "misc/cgo/test", t.goTest(), "-ldflags", "-linkmode=external -s")
case "aix-ppc64",
- "android-arm",
+ "android-arm", "android-arm64",
"dragonfly-amd64",
"freebsd-386", "freebsd-amd64", "freebsd-arm",
"linux-386", "linux-amd64", "linux-arm", "linux-ppc64le", "linux-s390x",
if t.supportedBuildmode("pie") {
t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie")
- if t.internalLinkPIE() {
+ if t.internalLink() && t.internalLinkPIE() {
t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie", "-ldflags=-linkmode=internal")
}
t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-buildmode=pie")