diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index 9a9cf2d7e4..11c22f4fd3 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -725,8 +725,10 @@ func (t *tester) cgoTest(dt *distTest) error { cmd := t.addCmd(dt, "misc/cgo/test", "go", "test", t.tags(), "-ldflags", "-linkmode=auto") cmd.Env = env - if t.gohostos != "dragonfly" { + if t.gohostos != "dragonfly" && t.gohostarch != "ppc64le" { // linkmode=internal fails on dragonfly since errno is a TLS relocation. + // linkmode=internal fails on ppc64le because cmd/link doesn't + // handle the TOC correctly (issue 15409). cmd := t.addCmd(dt, "misc/cgo/test", "go", "test", "-ldflags", "-linkmode=internal") cmd.Env = env }