{Name: "GOTOOLDIR", Value: build.ToolDir},
{Name: "GOVCS", Value: cfg.GOVCS},
{Name: "GOVERSION", Value: runtime.Version()},
+ {Name: "GODEBUG", Value: os.Getenv("GODEBUG")},
}
if work.GccgoBin != "" {
switch key {
case "GOEXE", "GOGCCFLAGS", "GOHOSTARCH", "GOHOSTOS", "GOMOD", "GOWORK", "GOTOOLDIR", "GOVERSION":
return fmt.Errorf("%s cannot be modified", key)
- case "GOENV":
+ case "GOENV", "GODEBUG":
return fmt.Errorf("%s can only be set using the OS environment", key)
}
! stderr .+
# go env -w rejects unknown or bad variables
-! go env -w GODEBUG=gctrace=1
-stderr 'unknown go command variable GODEBUG'
+! go env -w GOGC=off
+stderr 'unknown go command variable GOGC'
! go env -w GOEXE=.bat
stderr 'GOEXE cannot be modified'
! go env -w GOVERSION=customversion
stderr 'GOVERSION cannot be modified'
! go env -w GOENV=/env
stderr 'GOENV can only be set using the OS environment'
+! go env -w GODEBUG=gctrace=1
+stderr 'GODEBUG can only be set using the OS environment'
# go env -w can set multiple variables
env CC=