diff options
| author | Elias Naur <mail@eliasnaur.com> | 2019-04-07 15:02:31 +0200 |
|---|---|---|
| committer | Elias Naur <mail@eliasnaur.com> | 2019-04-08 20:38:29 +0000 |
| commit | e4665da9bcdd4e9136c7ed97ab4253def130b89d (patch) | |
| tree | 6e602e130b40f4606f2bed7f3c7ee375e731f491 /src/cmd/internal/sys | |
| parent | f18c31a49c1105be0341b32392a433cf65f227da (diff) | |
| download | go-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.go | 8 |
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 +} |
