From 12e2933bbea8e19a733b100aea14ab7919a5bdbd Mon Sep 17 00:00:00 2001 From: Lynn Boger Date: Tue, 14 Nov 2017 15:50:38 -0500 Subject: [PATCH] cmd/dist: return dropped tests from misc/cgo/test In a previous change to cmd/dist/test.go to fix some pie testcases, a few other tests were incorrectly dropped. This returns the testcases that shouldn't have been removed. Fixes #22708 Change-Id: I2f735f4fd3a378f0f45d12a99768638aeb4787c7 Reviewed-on: https://go-review.googlesource.com/77650 Run-TryBot: Russ Cox Run-TryBot: Ian Lance Taylor Reviewed-by: Ian Lance Taylor --- src/cmd/dist/test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index 49435880ec..3339e0437a 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -949,6 +949,22 @@ func (t *tester) cgoTest(dt *distTest) error { // static linking on FreeBSD/ARM with clang. (cgo depends on // -fPIC fundamentally.) default: + cmd := t.dirCmd("misc/cgo/test", + compilerEnvLookup(defaultcc, goos, goarch), "-xc", "-o", "/dev/null", "-static", "-") + cmd.Stdin = strings.NewReader("int main() {}") + if err := cmd.Run(); err != nil { + fmt.Println("No support for static linking found (lacks libc.a?), skip cgo static linking test.") + } else { + if goos != "android" { + t.addCmd(dt, "misc/cgo/testtls", "go", "test", "-ldflags", `-linkmode=external -extldflags "-static -pthread"`) + } + t.addCmd(dt, "misc/cgo/nocgo", "go", "test") + t.addCmd(dt, "misc/cgo/nocgo", "go", "test", "-ldflags", `-linkmode=external`) + if goos != "android" { + t.addCmd(dt, "misc/cgo/nocgo", "go", "test", "-ldflags", `-linkmode=external -extldflags "-static -pthread"`) + } + } + if t.supportedBuildmode("pie") { t.addCmd(dt, "misc/cgo/test", "go", "test", "-buildmode=pie") t.addCmd(dt, "misc/cgo/testtls", "go", "test", "-buildmode=pie")