aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDmitri Shuralyov <dmitshur@golang.org>2025-08-08 20:20:47 -0400
committerGopher Robot <gobot@golang.org>2025-08-11 14:25:55 -0700
commit6abfe7b0deaeb62d9f8d4bf09475efec68db9a1b (patch)
treec352a8869c03c7c00b243587dc0b9906733f99dc /src
parent691af6ca28dad9c72e51346fe10c6aaadc3f940b (diff)
downloadgo-6abfe7b0deaeb62d9f8d4bf09475efec68db9a1b.tar.xz
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>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/dist/README15
-rw-r--r--src/cmd/dist/buildtool.go2
-rw-r--r--src/cmd/dist/notgo124.go (renamed from src/cmd/dist/notgo122.go)12
-rwxr-xr-xsrc/make.bash8
-rw-r--r--src/make.bat2
-rwxr-xr-xsrc/make.rc2
6 files changed, 20 insertions, 21 deletions
diff --git a/src/cmd/dist/README b/src/cmd/dist/README
index 78a6d42d0a..d600520040 100644
--- a/src/cmd/dist/README
+++ b/src/cmd/dist/README
@@ -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.
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.
-2. Using dist, build Go 1.x compiler toolchain 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.24.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.
+Because of backward compatibility, although the steps above say Go 1.24.6,
+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.
-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.
-
+See go.dev/s/go15bootstrap for more details about the original bootstrap
+and go.dev/issue/54265 for details about later bootstrap version bumps.
diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go
index 013b769b90..b7e5891981 100644
--- a/src/cmd/dist/buildtool.go
+++ b/src/cmd/dist/buildtool.go
@@ -121,7 +121,7 @@ var ignoreSuffixes = []string{
"~",
}
-const minBootstrap = "go1.22.6"
+const minBootstrap = "go1.24.6"
var tryDirs = []string{
"sdk/" + minBootstrap,
diff --git a/src/cmd/dist/notgo122.go b/src/cmd/dist/notgo124.go
index 229a26e757..dc6ef4d8bd 100644
--- a/src/cmd/dist/notgo122.go
+++ b/src/cmd/dist/notgo124.go
@@ -2,20 +2,20 @@
// Use of this source code is governed by a BSD-style
// 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
// included in the build and cause an error like:
//
// % GOROOT_BOOTSTRAP=$HOME/sdk/go1.16 ./make.bash
// 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.
//
-// See go.dev/issue/44505 for more background on
-// why Go moved on from Go 1.4 for bootstrap.
+// See go.dev/issue/44505 and go.dev/issue/54265 for more
+// 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
diff --git a/src/make.bash b/src/make.bash
index b67ae1529f..d4e927dfda 100755
--- a/src/make.bash
+++ b/src/make.bash
@@ -64,14 +64,14 @@
# timing information to this file. Useful for profiling where the
# 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
-# tried for all "go" in $PATH. By default, one of $HOME/go1.22.6,
-# $HOME/sdk/go1.22.6, or $HOME/go1.4, whichever exists, in that order.
+# tried for all "go" in $PATH. By default, one of $HOME/go1.24.6,
+# $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
# that name even though they put newer Go toolchains there.
-bootgo=1.22.6
+bootgo=1.24.6
set -e
diff --git a/src/make.bat b/src/make.bat
index d9f686452e..29105cd8a5 100644
--- a/src/make.bat
+++ b/src/make.bat
@@ -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%\sdk\go%bootgo%" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\sdk\go%bootgo%
if "x%GOROOT_BOOTSTRAP%"=="x" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\Go1.4
diff --git a/src/make.rc b/src/make.rc
index b3beb75660..9ba2b7d76d 100755
--- a/src/make.rc
+++ b/src/make.rc
@@ -48,7 +48,7 @@ fn bootstrapenv {
GOROOT=$GOROOT_BOOTSTRAP GO111MODULE=off GOENV=off GOOS=() GOARCH=() GOEXPERIMENT=() GOFLAGS=() $*
}
-bootgo = 1.22.6
+bootgo = 1.24.6
GOROOT = `{cd .. && pwd}
goroot_bootstrap_set = 'true'
if(~ $"GOROOT_BOOTSTRAP ''){