]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: fix not print GCCGO when it's not the default
authorqiulaidongfeng <2645477756@qq.com>
Sat, 10 May 2025 17:09:16 +0000 (01:09 +0800)
committerSean Liao <sean@liao.dev>
Wed, 14 May 2025 20:45:40 +0000 (13:45 -0700)
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>
src/cmd/go/internal/envcmd/env.go
src/cmd/go/internal/work/gccgo.go
src/cmd/go/testdata/script/env_changed.txt

index b60e2adbe51611f6bafd349d0ea04f5ce593f7ed..6ad6954dd521255ae4dde2a70d1a6553ba013850 100644 (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()
index bdd76f6364e14ad5c286029d48f8fdd71473c562..b42e92ea690981a2bbbd2e90bdb9a04455275dd4 100644 (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)
 }
 
index 05fb71d020fc3ca1df91ef4152961f117d6c2d5d..da9560062704e60923d1d72898d1e3a52099343f 100644 (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