mirror of
https://github.com/golang/go
synced 2024-11-25 15:17:58 -07:00
aa2e8b9ce2
The $HOME/sdk/go1.17 and $HOME/go1.17 paths were initially added as places to look for a bootstrap toolchain to make.{bash,bat,rc} scripts and in cmd/dist (CL 370274). Those two go1.17 directories have since been updated in the make scripts to go1.20.6 (CL 512275) and later on to go1.22.6 (CL 606156), but the same list in cmd/dist was missed. Fix the inconsistency now. But maybe cmd/dist doesn't need to maintain this logic, if it's required to be invoked via one of the make scripts, since they're responsible for setting GOROOT_BOOTSTRAP? For #64751. Change-Id: I0988005c559014791363138f2f722cc1f9a78bcf Reviewed-on: https://go-review.googlesource.com/c/go/+/607821 Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> |
||
---|---|---|
.. | ||
build_test.go | ||
build.go | ||
buildgo.go | ||
buildruntime.go | ||
buildtag_test.go | ||
buildtag.go | ||
buildtool.go | ||
doc.go | ||
exec.go | ||
imports.go | ||
main.go | ||
notgo122.go | ||
quoted.go | ||
README | ||
supported_test.go | ||
sys_default.go | ||
sys_windows.go | ||
test.go | ||
testjson_test.go | ||
testjson.go | ||
util_gc.go | ||
util_gccgo.go | ||
util.go | ||
vfp_arm.s | ||
vfp_default.s |
This program, dist, is the bootstrapping tool for the Go distribution. As of Go 1.5, dist and other parts of the compiler toolchain are written in Go, making bootstrapping a little more involved than in the past. The approach is to build the current release of Go with an earlier one. The process to install Go 1.x, for x ≥ 24, is: 1. Build cmd/dist with Go 1.22.6. 2. Using dist, build Go 1.x compiler toolchain with Go 1.22.6. 3. Using dist, rebuild Go 1.x compiler toolchain with itself. 4. Using dist, build Go 1.x cmd/go (as go_bootstrap) with Go 1.x compiler toolchain. 5. Using go_bootstrap, build the remaining Go 1.x standard library and commands. Because of backward compatibility, although the steps above say Go 1.22.6, in practice any release ≥ Go 1.22.6 but < Go 1.x will work as the bootstrap base. Releases ≥ Go 1.x are very likely to work as well. See https://go.dev/s/go15bootstrap for more details about the original bootstrap and https://go.dev/issue/54265 for details about later bootstrap version bumps.