cmd/go: include the "-trimpath" flag in the stamped build settings

The -trimpath flag has a strong effect on the resulting binary:
in particular, it determines whether runtime.GOROOT can report
a meaningful path in the absence of an explicit GOROOT environment variable.

For #51461

Change-Id: Id0d55572c0a0a4e2e4724363ed80dfa05b202186
Reviewed-on: https://go-review.googlesource.com/c/go/+/391810
Trust: Bryan Mills <bcmills@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Bryan C. Mills 2022-03-09 12:01:16 -05:00 committed by Bryan Mills
parent 0433f5770b
commit e1fbf13896
2 changed files with 7 additions and 0 deletions

View File

@ -2333,6 +2333,9 @@ func (p *Package) setBuildInfo(includeVCS bool) {
if tags := cfg.BuildContext.BuildTags; len(tags) > 0 {
appendSetting("-tags", strings.Join(tags, ","))
}
if cfg.BuildTrimpath {
appendSetting("-trimpath", "true")
}
cgo := "0"
if cfg.BuildContext.CgoEnabled {
cgo = "1"

View File

@ -23,6 +23,10 @@ go build -ldflags=example.com/m=-w
go version -m m$GOEXE
stdout '^\tbuild\t-ldflags=example\.com/m=-w$'
go build -trimpath
go version -m m$GOEXE
stdout '\tbuild\t-trimpath=true$'
# gccgoflags are not added when gc is used, and vice versa.
# TODO: test gccgo.
go build -gccgoflags=all=UNUSED