aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/sys
diff options
context:
space:
mode:
authorElias Naur <mail@eliasnaur.com>2019-04-07 15:02:31 +0200
committerElias Naur <mail@eliasnaur.com>2019-04-08 20:38:29 +0000
commite4665da9bcdd4e9136c7ed97ab4253def130b89d (patch)
tree6e602e130b40f4606f2bed7f3c7ee375e731f491 /src/cmd/internal/sys
parentf18c31a49c1105be0341b32392a433cf65f227da (diff)
downloadgo-e4665da9bcdd4e9136c7ed97ab4253def130b89d.tar.xz
cmd/go/internal/work: make toolchain builds reproducible when buildmode=pie
When buildmode=pie, external linking is forced, and our toolchain build id will be included in the external build id, resulting in the building of a toolchain tool will never reach a fixed point id. More importantly, this change will make make.bash converge on self-hosted Android builds (Android refuses to run non-PIE executables). Fixes #31320 Updates #18968 Change-Id: Icb5db9f4b1b688afe37f4dafe261ffda580fa4e7 Reviewed-on: https://go-review.googlesource.com/c/go/+/170942 Run-TryBot: Elias Naur <mail@eliasnaur.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/cmd/internal/sys')
-rw-r--r--src/cmd/internal/sys/supported.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/cmd/internal/sys/supported.go b/src/cmd/internal/sys/supported.go
index a53da6ed2c..c963971f59 100644
--- a/src/cmd/internal/sys/supported.go
+++ b/src/cmd/internal/sys/supported.go
@@ -27,3 +27,11 @@ func MSanSupported(goos, goarch string) bool {
return false
}
}
+
+// PIEDefaultsToExternalLink reports whether goos/goarch defaults
+// to external linking for buildmode=pie.
+func PIEDefaultsToExternalLink(goos, goarch string) bool {
+ // Currently all systems external link PIE binaries.
+ // See https://golang.org/issue/18968.
+ return true
+}