diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go index f1f3d50b6f..947da115e3 100644 --- a/src/cmd/dist/buildtool.go +++ b/src/cmd/dist/buildtool.go @@ -16,7 +16,6 @@ import ( "os" "path/filepath" "regexp" - "runtime" "strings" ) @@ -243,11 +242,11 @@ var ssaRewriteFileSubstring = filepath.FromSlash("src/cmd/compile/internal/ssa/r // isUnneededSSARewriteFile reports whether srcFile is a // src/cmd/compile/internal/ssa/rewriteARCHNAME.go file for an -// architecture that isn't for the current runtime.GOARCH. +// architecture that isn't for the given GOARCH. // // When unneeded is true archCaps is the rewrite base filename without // the "rewrite" prefix or ".go" suffix: AMD64, 386, ARM, ARM64, etc. -func isUnneededSSARewriteFile(srcFile string) (archCaps string, unneeded bool) { +func isUnneededSSARewriteFile(srcFile, goArch string) (archCaps string, unneeded bool) { if !strings.Contains(srcFile, ssaRewriteFileSubstring) { return "", false } @@ -262,13 +261,10 @@ func isUnneededSSARewriteFile(srcFile string) (archCaps string, unneeded bool) { archCaps = fileArch fileArch = strings.ToLower(fileArch) fileArch = strings.TrimSuffix(fileArch, "splitload") - if fileArch == os.Getenv("GOHOSTARCH") { + if fileArch == goArch { return "", false } - if fileArch == strings.TrimSuffix(runtime.GOARCH, "le") { - return "", false - } - if fileArch == strings.TrimSuffix(os.Getenv("GOARCH"), "le") { + if fileArch == strings.TrimSuffix(goArch, "le") { return "", false } return archCaps, true @@ -277,9 +273,9 @@ func isUnneededSSARewriteFile(srcFile string) (archCaps string, unneeded bool) { func bootstrapRewriteFile(srcFile string) string { // During bootstrap, generate dummy rewrite files for // irrelevant architectures. We only need to build a bootstrap - // binary that works for the current runtime.GOARCH. + // binary that works for the current gohostarch. // This saves 6+ seconds of bootstrap. - if archCaps, ok := isUnneededSSARewriteFile(srcFile); ok { + if archCaps, ok := isUnneededSSARewriteFile(srcFile, gohostarch); ok { return fmt.Sprintf(`// Code generated by go tool dist; DO NOT EDIT. package ssa