mirror of
https://github.com/golang/go
synced 2024-11-12 08:20:22 -07:00
cmd/go: add GOMIPS value to build id for mipsle
Strip a trailing "le" from the GOARCH value when calculating the GOxxx environment variable that affects it. Fixes #27260 Change-Id: I081f30d5dc19281901551823f4f56be028b5f71a Reviewed-on: https://go-review.googlesource.com/131379 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
3ca3e89bb6
commit
61318d7ffe
@ -224,7 +224,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
|
||||
if len(p.SFiles) > 0 {
|
||||
fmt.Fprintf(h, "asm %q %q %q\n", b.toolID("asm"), forcedAsmflags, p.Internal.Asmflags)
|
||||
}
|
||||
fmt.Fprintf(h, "GO$GOARCH=%s\n", os.Getenv("GO"+strings.ToUpper(cfg.BuildContext.GOARCH))) // GO386, GOARM, etc
|
||||
// GO386, GOARM, GOMIPS, etc.
|
||||
baseArch := strings.TrimSuffix(cfg.BuildContext.GOARCH, "le")
|
||||
fmt.Fprintf(h, "GO$GOARCH=%s\n", os.Getenv("GO"+strings.ToUpper(baseArch)))
|
||||
|
||||
// TODO(rsc): Convince compiler team not to add more magic environment variables,
|
||||
// or perhaps restrict the environment variables passed to subprocesses.
|
||||
|
37
src/cmd/go/testdata/script/build_cache_gomips.txt
vendored
Normal file
37
src/cmd/go/testdata/script/build_cache_gomips.txt
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
# Set up fresh GOCACHE.
|
||||
env GOCACHE=$WORK/gocache
|
||||
mkdir $GOCACHE
|
||||
|
||||
# Building for mipsle without setting GOMIPS will use floating point registers.
|
||||
env GOARCH=mipsle
|
||||
env GOOS=linux
|
||||
go build -gcflags=-S f.go
|
||||
stderr ADDD.F[0-9]+,.F[0-9]+,.F[0-9]+
|
||||
|
||||
# Clean cache
|
||||
go clean -cache
|
||||
|
||||
# Building with GOMIPS=softfloat will not use floating point registers
|
||||
env GOMIPS=softfloat
|
||||
go build -gcflags=-S f.go
|
||||
! stderr ADDD.F[0-9]+,.F[0-9]+,.F[0-9]+
|
||||
|
||||
# Clean cache
|
||||
go clean -cache
|
||||
|
||||
# Build without setting GOMIPS
|
||||
env GOMIPS=
|
||||
go build -gcflags=-S f.go
|
||||
stderr ADDD.F[0-9]+,.F[0-9]+,.F[0-9]+
|
||||
|
||||
# Building with GOMIPS should still not use floating point registers.
|
||||
env GOMIPS=softfloat
|
||||
go build -gcflags=-S f.go
|
||||
! stderr ADDD.F[0-9]+,.F[0-9]+,.F[0-9]+
|
||||
|
||||
-- f.go --
|
||||
package f
|
||||
|
||||
func F(x float64) float64 {
|
||||
return x + x
|
||||
}
|
Loading…
Reference in New Issue
Block a user