From: jokemanfire Date: Fri, 6 Sep 2024 13:42:49 +0000 (+0000) Subject: cmd/go: set environment LANG=C when getting compiler version X-Git-Tag: go1.24rc1~921 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c1fe637eda9b198cf3acad4eee6db8bc03b602f9;p=gostls13.git cmd/go: set environment LANG=C when getting compiler version Compiler's version will not work well if gcc output have different language. Like 'gcc -v', it may not output: 'gcc version xx.xx.x' Fixes #69221 Change-Id: I4adcea79dfaaf5853dfb6e718468f8530c67da6a GitHub-Last-Rev: 069787c0836f9be10e4bf71dd6c468ae47f6161e GitHub-Pull-Request: golang/go#69223 Reviewed-on: https://go-review.googlesource.com/c/go/+/610215 LUCI-TryBot-Result: Go LUCI Reviewed-by: DING HU Reviewed-by: Ian Lance Taylor Reviewed-by: Michael Matloob --- diff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go index 7d0921f0cc..175912bb85 100644 --- a/src/cmd/go/internal/work/init.go +++ b/src/cmd/go/internal/work/init.go @@ -357,7 +357,9 @@ func compilerVersion() (version, error) { compiler.err = func() error { compiler.name = "unknown" cc := os.Getenv("CC") - out, err := exec.Command(cc, "--version").Output() + cmd := exec.Command(cc, "--version") + cmd.Env = append(cmd.Environ(), "LANG=C") + out, err := cmd.Output() if err != nil { // Compiler does not support "--version" flag: not Clang or GCC. return err @@ -366,7 +368,9 @@ func compilerVersion() (version, error) { var match [][]byte if bytes.HasPrefix(out, []byte("gcc")) { compiler.name = "gcc" - out, err := exec.Command(cc, "-v").CombinedOutput() + cmd := exec.Command(cc, "-v") + cmd.Env = append(cmd.Environ(), "LANG=C") + out, err := cmd.CombinedOutput() if err != nil { // gcc, but does not support gcc's "-v" flag?! return err