mirror of
https://github.com/golang/go
synced 2024-11-12 08:50: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 {
|
if len(p.SFiles) > 0 {
|
||||||
fmt.Fprintf(h, "asm %q %q %q\n", b.toolID("asm"), forcedAsmflags, p.Internal.Asmflags)
|
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,
|
// TODO(rsc): Convince compiler team not to add more magic environment variables,
|
||||||
// or perhaps restrict the environment variables passed to subprocesses.
|
// 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