mirror of https://github.com/golang/go.git
cmd/dist: test cgo internal linking PIE
On platforms where internal linking PIE is supported, run misc/cgo/test with that configuration. Change-Id: Ia09631b07cc469c85818e1494093d802ea9d69a1 Reviewed-on: https://go-review.googlesource.com/c/go/+/218838 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
ffc0573b85
commit
3e4e644433
|
|
@ -581,7 +581,7 @@ func (t *tester) registerTests() {
|
|||
}
|
||||
|
||||
// Test internal linking of PIE binaries where it is supported.
|
||||
if goos == "linux" && (goarch == "amd64" || goarch == "arm64") {
|
||||
if t.internalLinkPIE() {
|
||||
t.tests = append(t.tests, distTest{
|
||||
name: "pie_internal",
|
||||
heading: "internal linking of -buildmode=pie",
|
||||
|
|
@ -936,6 +936,10 @@ func (t *tester) internalLink() bool {
|
|||
return true
|
||||
}
|
||||
|
||||
func (t *tester) internalLinkPIE() bool {
|
||||
return goos == "linux" && (goarch == "amd64" || goarch == "arm64")
|
||||
}
|
||||
|
||||
func (t *tester) supportedBuildmode(mode string) bool {
|
||||
pair := goos + "-" + goarch
|
||||
switch mode {
|
||||
|
|
@ -1110,6 +1114,9 @@ func (t *tester) cgoTest(dt *distTest) error {
|
|||
|
||||
if t.supportedBuildmode("pie") {
|
||||
t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie")
|
||||
if 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")
|
||||
t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie")
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue