66 lines
2.1 KiB
Diff
66 lines
2.1 KiB
Diff
From 6d91532e4da10746ced62f714783017f682f83e1 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Jakub=20=C4=8Cajka?= <jcajka@redhat.com>
|
|
Date: Thu, 22 Mar 2018 12:44:25 +0100
|
|
Subject: [PATCH 5/6] Backport of
|
|
https://github.com/golang/go/commit/ca8c361d867d62bd46013c5abbaaad0b2ca6077f
|
|
|
|
---
|
|
src/cmd/dist/test.go | 30 ++++++++++++++++--------------
|
|
1 file changed, 16 insertions(+), 14 deletions(-)
|
|
|
|
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
|
|
index 73432d31ea..ed7151ab66 100644
|
|
--- a/src/cmd/dist/test.go
|
|
+++ b/src/cmd/dist/test.go
|
|
@@ -852,6 +852,16 @@ func (t *tester) supportedBuildmode(mode string) bool {
|
|
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
|
|
@@ -953,24 +963,16 @@ func (t *tester) cgoTest(dt *distTest) error {
|
|
}
|
|
}
|
|
|
|
- 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
|
|
|
|
- }
|
|
}
|
|
}
|
|
}
|
|
--
|
|
2.14.3
|
|
|