mirror of
https://github.com/golang/go
synced 2024-11-02 11:50:30 +00:00
cmd/go: add ForceLibrary to build hash
When a command has a test that is not in package main, the main package is built as a library, with ForceLibrary set. It can of course also be built as an ordinary main package. If we don't record that fact in the hash, then both variants of the command will use the same hash, which causes a GODEBUG=gocacheverify=1 failure. It also seems unsafe although it's not clear to me whether it can cause an actual failure. Along with CL 121941, Fixes #25666 Change-Id: I115ad249012f30fbe45cd0c41da86adc295fe4b2 Reviewed-on: https://go-review.googlesource.com/121942 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
f00bfb385b
commit
9a97a2aae9
1 changed files with 3 additions and 0 deletions
|
@ -203,6 +203,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
|
|||
fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch)
|
||||
fmt.Fprintf(h, "import %q\n", p.ImportPath)
|
||||
fmt.Fprintf(h, "omitdebug %v standard %v local %v prefix %q\n", p.Internal.OmitDebug, p.Standard, p.Internal.Local, p.Internal.LocalPrefix)
|
||||
if p.Internal.ForceLibrary {
|
||||
fmt.Fprintf(h, "forcelibrary\n")
|
||||
}
|
||||
if len(p.CgoFiles)+len(p.SwigFiles) > 0 {
|
||||
fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
|
||||
cppflags, cflags, cxxflags, fflags, _, _ := b.CFlags(p)
|
||||
|
|
Loading…
Reference in a new issue