cmd/go: fix not print GCCGO when it's not the default

Fixes #69994

Change-Id: I2a23e5998b7421fd5ae0fdb68303d3244361b341
Reviewed-on: https://go-review.googlesource.com/c/go/+/671635
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Michael Matloob <matloob@google.com>
Reviewed-by: Sean Liao <sean@liao.dev>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
This commit is contained in:
qiulaidongfeng 2025-05-11 01:09:16 +08:00 committed by Sean Liao
parent a24f4db2a2
commit 12e11e7523
3 changed files with 8 additions and 1 deletions

View File

@ -142,7 +142,7 @@ func MkEnv() []cfg.EnvVar {
if work.GccgoBin != "" {
env = append(env, cfg.EnvVar{Name: "GCCGO", Value: work.GccgoBin, Changed: true})
} else {
env = append(env, cfg.EnvVar{Name: "GCCGO", Value: work.GccgoName})
env = append(env, cfg.EnvVar{Name: "GCCGO", Value: work.GccgoName, Changed: work.GccgoChanged})
}
goarch, val, changed := cfg.GetArchEnv()

View File

@ -27,6 +27,7 @@ import (
type gccgoToolchain struct{}
var GccgoName, GccgoBin string
var GccgoChanged bool
var gccgoErr error
func init() {
@ -34,6 +35,9 @@ func init() {
if GccgoName == "" {
GccgoName = "gccgo"
}
if GccgoName != "gccgo" {
GccgoChanged = true
}
GccgoBin, gccgoErr = pathcache.LookPath(GccgoName)
}

View File

@ -12,6 +12,7 @@ env CGO_CFLAGS=nodefault
env CGO_CPPFLAGS=nodefault
env GOFIPS140=latest
[cgo] env CGO_ENABLED=0
env GCCGO=nodefault
go env -changed
# linux output like GOTOOLCHAIN='local'
@ -24,6 +25,7 @@ stdout 'CGO_CFLAGS=''?nodefault''?'
stdout 'CGO_CPPFLAGS=''?nodefault''?'
stdout 'GOFIPS140=''?latest''?'
[cgo] stdout 'CGO_ENABLED=''?0''?'
stdout 'GCCGO=''?nodefault''?'
go env -changed -json
stdout '"GOTOOLCHAIN": "local"'
@ -34,6 +36,7 @@ stdout '"CGO_CFLAGS": "nodefault"'
stdout '"CGO_CPPFLAGS": "nodefault"'
stdout '"GOFIPS140": "latest"'
[cgo] stdout '"CGO_ENABLED": "0"'
stdout '"GCCGO": "nodefault"'
[GOOS:windows] env GOOS=linux
[!GOOS:windows] env GOOS=windows