diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go index f71fcdaeb9..3257140515 100644 --- a/src/cmd/go/internal/cfg/cfg.go +++ b/src/cmd/go/internal/cfg/cfg.go @@ -159,14 +159,7 @@ func defaultContext() build.Context { if ctxt.CgoEnabled { if os.Getenv("CC") == "" { cc := DefaultCC(ctxt.GOOS, ctxt.GOARCH) - if filepath.IsAbs(cc) { - if _, err := os.Stat(cc); os.IsNotExist(err) { - // The default CC is an absolute path that doesn't exist. - // (Perhaps make.bash was run on a system with a C compiler - // installed, and the current system doesn't have it there.) - ctxt.CgoEnabled = false - } - } else if _, err := exec.LookPath(cc); err != nil { + if _, err := exec.LookPath(cc); err != nil { ctxt.CgoEnabled = false } } diff --git a/src/cmd/go/scriptconds_test.go b/src/cmd/go/scriptconds_test.go index 2717dbb4ae..516375021a 100644 --- a/src/cmd/go/scriptconds_test.go +++ b/src/cmd/go/scriptconds_test.go @@ -62,7 +62,7 @@ func defaultCCIsAbsolute(s *script.State) (bool, error) { GOARCH, _ := s.LookupEnv("GOARCH") defaultCC := cfg.DefaultCC(GOOS, GOARCH) if filepath.IsAbs(defaultCC) { - if _, err := os.Stat(defaultCC); err == nil { + if _, err := exec.LookPath(defaultCC); err == nil { return true, nil } }