mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/dist: require Go 1.24.6 as minimum bootstrap toolchain
This is a minimal change to start to require the new minimum bootstrap. Taking advantage of the newer bootstrap to simplify and improve code is left to be done in separate CLs. For #69315. Change-Id: I4bef752b2adb67e969d585d97e680d26afefc6f4 Reviewed-on: https://go-review.googlesource.com/c/go/+/694535 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
This commit is contained in:
parent
691af6ca28
commit
6abfe7b0de
7 changed files with 25 additions and 21 deletions
|
|
@ -4,4 +4,9 @@
|
||||||
|
|
||||||
## Linker {#linker}
|
## Linker {#linker}
|
||||||
|
|
||||||
|
## Bootstrap {#bootstrap}
|
||||||
|
|
||||||
|
<!-- go.dev/issue/69315 -->
|
||||||
|
As mentioned in the [Go 1.24 release notes](/doc/go1.24#bootstrap), Go 1.26 now requires
|
||||||
|
Go 1.24.6 or later for bootstrap.
|
||||||
|
We expect that Go 1.28 will require a minor release of Go 1.26 or later for bootstrap.
|
||||||
|
|
|
||||||
15
src/cmd/dist/README
vendored
15
src/cmd/dist/README
vendored
|
|
@ -4,18 +4,17 @@ 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.
|
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 approach is to build the current release of Go with an earlier one.
|
||||||
|
|
||||||
The process to install Go 1.x, for x ≥ 24, is:
|
The process to install Go 1.x, for x ≥ 26, is:
|
||||||
|
|
||||||
1. Build cmd/dist with Go 1.22.6.
|
1. Build cmd/dist with Go 1.24.6.
|
||||||
2. Using dist, build Go 1.x compiler toolchain with Go 1.22.6.
|
2. Using dist, build Go 1.x compiler toolchain with Go 1.24.6.
|
||||||
3. Using dist, rebuild Go 1.x compiler toolchain with itself.
|
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.
|
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.
|
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,
|
Because of backward compatibility, although the steps above say Go 1.24.6,
|
||||||
in practice any release ≥ Go 1.22.6 but < Go 1.x will work as the bootstrap base.
|
in practice any release ≥ Go 1.24.6 but < Go 1.x will work as the bootstrap base.
|
||||||
Releases ≥ Go 1.x are very likely to work as well.
|
Releases ≥ Go 1.x are very likely to work as well.
|
||||||
|
|
||||||
See https://go.dev/s/go15bootstrap for more details about the original bootstrap
|
See go.dev/s/go15bootstrap for more details about the original bootstrap
|
||||||
and https://go.dev/issue/54265 for details about later bootstrap version bumps.
|
and go.dev/issue/54265 for details about later bootstrap version bumps.
|
||||||
|
|
||||||
|
|
|
||||||
2
src/cmd/dist/buildtool.go
vendored
2
src/cmd/dist/buildtool.go
vendored
|
|
@ -121,7 +121,7 @@ var ignoreSuffixes = []string{
|
||||||
"~",
|
"~",
|
||||||
}
|
}
|
||||||
|
|
||||||
const minBootstrap = "go1.22.6"
|
const minBootstrap = "go1.24.6"
|
||||||
|
|
||||||
var tryDirs = []string{
|
var tryDirs = []string{
|
||||||
"sdk/" + minBootstrap,
|
"sdk/" + minBootstrap,
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,20 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// Go 1.24 and later requires Go 1.22.6 as the bootstrap toolchain.
|
// Go 1.26 and later requires Go 1.24.6 as the minimum bootstrap toolchain.
|
||||||
// If cmd/dist is built using an earlier Go version, this file will be
|
// If cmd/dist is built using an earlier Go version, this file will be
|
||||||
// included in the build and cause an error like:
|
// included in the build and cause an error like:
|
||||||
//
|
//
|
||||||
// % GOROOT_BOOTSTRAP=$HOME/sdk/go1.16 ./make.bash
|
// % GOROOT_BOOTSTRAP=$HOME/sdk/go1.16 ./make.bash
|
||||||
// Building Go cmd/dist using /Users/rsc/sdk/go1.16. (go1.16 darwin/amd64)
|
// Building Go cmd/dist using /Users/rsc/sdk/go1.16. (go1.16 darwin/amd64)
|
||||||
// found packages main (build.go) and building_Go_requires_Go_1_22_6_or_later (notgo122.go) in /Users/rsc/go/src/cmd/dist
|
// found packages main (build.go) and building_Go_requires_Go_1_24_6_or_later (notgo124.go) in /Users/rsc/go/src/cmd/dist
|
||||||
// %
|
// %
|
||||||
//
|
//
|
||||||
// which is the best we can do under the circumstances.
|
// which is the best we can do under the circumstances.
|
||||||
//
|
//
|
||||||
// See go.dev/issue/44505 for more background on
|
// See go.dev/issue/44505 and go.dev/issue/54265 for more
|
||||||
// why Go moved on from Go 1.4 for bootstrap.
|
// background on why Go moved on from Go 1.4 for bootstrap.
|
||||||
|
|
||||||
//go:build !go1.22
|
//go:build !go1.24
|
||||||
|
|
||||||
package building_Go_requires_Go_1_22_6_or_later
|
package building_Go_requires_Go_1_24_6_or_later
|
||||||
|
|
@ -64,14 +64,14 @@
|
||||||
# timing information to this file. Useful for profiling where the
|
# timing information to this file. Useful for profiling where the
|
||||||
# time goes when these scripts run.
|
# time goes when these scripts run.
|
||||||
#
|
#
|
||||||
# GOROOT_BOOTSTRAP: A working Go tree >= Go 1.22.6 for bootstrap.
|
# GOROOT_BOOTSTRAP: A working Go tree >= Go 1.24.6 for bootstrap.
|
||||||
# If $GOROOT_BOOTSTRAP/bin/go is missing, $(go env GOROOT) is
|
# If $GOROOT_BOOTSTRAP/bin/go is missing, $(go env GOROOT) is
|
||||||
# tried for all "go" in $PATH. By default, one of $HOME/go1.22.6,
|
# tried for all "go" in $PATH. By default, one of $HOME/go1.24.6,
|
||||||
# $HOME/sdk/go1.22.6, or $HOME/go1.4, whichever exists, in that order.
|
# $HOME/sdk/go1.24.6, or $HOME/go1.4, whichever exists, in that order.
|
||||||
# We still check $HOME/go1.4 to allow for build scripts that still hard-code
|
# We still check $HOME/go1.4 to allow for build scripts that still hard-code
|
||||||
# that name even though they put newer Go toolchains there.
|
# that name even though they put newer Go toolchains there.
|
||||||
|
|
||||||
bootgo=1.22.6
|
bootgo=1.24.6
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ for /f "tokens=*" %%g in ('where go 2^>nul') do (
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
set bootgo=1.22.6
|
set bootgo=1.24.6
|
||||||
if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\go%bootgo%" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\go%bootgo%
|
if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\go%bootgo%" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\go%bootgo%
|
||||||
if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\sdk\go%bootgo%" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\sdk\go%bootgo%
|
if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\sdk\go%bootgo%" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\sdk\go%bootgo%
|
||||||
if "x%GOROOT_BOOTSTRAP%"=="x" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\Go1.4
|
if "x%GOROOT_BOOTSTRAP%"=="x" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\Go1.4
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ fn bootstrapenv {
|
||||||
GOROOT=$GOROOT_BOOTSTRAP GO111MODULE=off GOENV=off GOOS=() GOARCH=() GOEXPERIMENT=() GOFLAGS=() $*
|
GOROOT=$GOROOT_BOOTSTRAP GO111MODULE=off GOENV=off GOOS=() GOARCH=() GOEXPERIMENT=() GOFLAGS=() $*
|
||||||
}
|
}
|
||||||
|
|
||||||
bootgo = 1.22.6
|
bootgo = 1.24.6
|
||||||
GOROOT = `{cd .. && pwd}
|
GOROOT = `{cd .. && pwd}
|
||||||
goroot_bootstrap_set = 'true'
|
goroot_bootstrap_set = 'true'
|
||||||
if(~ $"GOROOT_BOOTSTRAP ''){
|
if(~ $"GOROOT_BOOTSTRAP ''){
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue