Execute correctly tests on ppc64le

This commit is contained in:
Jakub Čajka 2017-11-14 13:39:02 +01:00
parent d178a2ea61
commit 1f497f3dfe
2 changed files with 54 additions and 0 deletions

View File

@ -143,6 +143,8 @@ Patch220: 31bit-OID-asn1.patch
Patch221: s390x-ignore-L0syms.patch
Patch222: use-buildmode-pie-for-pie-testing.patch
# Having documentation separate was broken
Obsoletes: %{name}-docs < 1.1-4
@ -276,6 +278,7 @@ Requires: %{name} = %{version}-%{release}
%patch220 -p1
%patch221 -p1
%patch222 -p1
cp %{SOURCE1} ./src/runtime/

View File

@ -0,0 +1,51 @@
diff -up go/src/cmd/dist/test.go.origin go/src/cmd/dist/test.go
--- go/src/cmd/dist/test.go.origin 2017-10-25 19:32:35.000000000 +0200
+++ go/src/cmd/dist/test.go 2017-11-08 12:24:52.771586558 +0100
@@ -789,6 +789,16 @@ func (t *tester) supportedBuildmode(mode
return true
}
return false
+ case "pie":
+ switch pair {
+ case "linux-386", "linux-amd64", "linux-arm", "linux-arm64", "linux-ppc64le", "linux-s390x",
+ "android-amd64", "android-arm", "android-arm64", "android-386":
+ return true
+ case "darwin-amd64":
+ return true
+ }
+ return false
+
default:
log.Fatalf("internal error: unknown buildmode %s", mode)
return false
@@ -891,24 +901,16 @@ func (t *tester) cgoTest(dt *distTest) e
}
}
- if pair != "freebsd-amd64" { // clang -pie fails to link misc/cgo/test
- cmd := t.dirCmd("misc/cgo/test",
- cc, "-xc", "-o", "/dev/null", "-pie", "-")
+ if t.supportedBuildmode("pie") {
+ cmd = t.addCmd(dt, "misc/cgo/test", "go", "test", "-buildmode=pie")
cmd.Env = env
- cmd.Stdin = strings.NewReader("int main() {}")
- if err := cmd.Run(); err != nil {
- fmt.Println("No support for -pie found, skip cgo PIE test.")
- } else {
- cmd = t.addCmd(dt, "misc/cgo/test", "go", "test", "-ldflags", `-linkmode=external -extldflags "-pie"`)
- cmd.Env = env
- cmd = t.addCmd(dt, "misc/cgo/testtls", "go", "test", "-ldflags", `-linkmode=external -extldflags "-pie"`)
- cmd.Env = env
+ cmd = t.addCmd(dt, "misc/cgo/testtls", "go", "test", "-buildmode=pie")
+ cmd.Env = env
- cmd = t.addCmd(dt, "misc/cgo/nocgo", "go", "test", "-ldflags", `-linkmode=external -extldflags "-pie"`)
- cmd.Env = env
+ cmd = t.addCmd(dt, "misc/cgo/nocgo", "go", "test", "-buildmode=pie")
+ cmd.Env = env
- }
}
}
}