diff --git a/doc/go1.20.html b/doc/go1.20.html index abdc684d54..fbfd0b78d2 100644 --- a/doc/go1.20.html +++ b/doc/go1.20.html @@ -85,7 +85,7 @@ Do not send CLs removing the interior tags from such phrases.

Bootstrap

- TODO: https://go.dev/issue/44505: adopt Go 1.17 as bootstrap toolchain for Go 1.20 + TODO: https://go.dev/issue/44505: adopt Go 1.17.13 as bootstrap toolchain for Go 1.20

Core library

diff --git a/src/cmd/dist/notgo117.go b/src/cmd/dist/notgo117.go index eb1c949b00..8d551df24b 100644 --- a/src/cmd/dist/notgo117.go +++ b/src/cmd/dist/notgo117.go @@ -8,7 +8,7 @@ // // % 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_17_or_later (notgo117.go) in /Users/rsc/go/src/cmd/dist +// found packages main (build.go) and building_Go_requires_Go_1_17_13_or_later (notgo117.go) in /Users/rsc/go/src/cmd/dist // % // // which is the best we can do under the circumstances. @@ -19,4 +19,4 @@ //go:build !go1.17 // +build !go1.17 -package building_Go_requires_Go_1_17_or_later +package building_Go_requires_Go_1_17_13_or_later diff --git a/src/make.bash b/src/make.bash index 4616502cec..c07f39bb40 100755 --- a/src/make.bash +++ b/src/make.bash @@ -67,13 +67,15 @@ # timing information to this file. Useful for profiling where the # time goes when these scripts run. # -# GOROOT_BOOTSTRAP: A working Go tree >= Go 1.17 for bootstrap. +# GOROOT_BOOTSTRAP: A working Go tree >= Go 1.17.13 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.17, -# $HOME/sdk/go1.17, or $HOME/go1.4, whichever exists, in that order. +# tried for all "go" in $PATH. By default, one of $HOME/go1.17.13, +# $HOME/sdk/go1.17.13, 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.17.13 + set -e if [ ! -f run.bash ]; then @@ -152,7 +154,7 @@ fi goroot_bootstrap_set=${GOROOT_BOOTSTRAP+"true"} if [ -z "$GOROOT_BOOTSTRAP" ]; then GOROOT_BOOTSTRAP="$HOME/go1.4" - for d in sdk/go1.17 go1.17; do + for d in sdk/go$bootgo go$bootgo; do if [ -d "$HOME/$d" ]; then GOROOT_BOOTSTRAP="$HOME/$d" fi @@ -175,7 +177,7 @@ IFS=$'\n'; for go_exe in $(type -ap go); do done; unset IFS if [ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]; then echo "ERROR: Cannot find $GOROOT_BOOTSTRAP/bin/go." >&2 - echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go 1.17." >&2 + echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go $bootgo." >&2 exit 1 fi # Get the exact bootstrap toolchain version to help with debugging. @@ -188,7 +190,7 @@ if $verbose; then fi if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then echo "ERROR: \$GOROOT_BOOTSTRAP must not be set to \$GOROOT" >&2 - echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go 1.17." >&2 + echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go $bootgo." >&2 exit 1 fi rm -f cmd/dist/dist diff --git a/src/make.bat b/src/make.bat index f956dc2064..104fb485b4 100644 --- a/src/make.bat +++ b/src/make.bat @@ -80,8 +80,10 @@ for /f "tokens=*" %%g in ('where go 2^>nul') do ( ) ) ) -if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\go1.17" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\go1.17 -if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\sdk\go1.17" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\sdk\go1.17 + +set bootgo=1.17.13 +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 :bootstrapset @@ -147,7 +149,7 @@ goto end :bootstrapfail echo ERROR: Cannot find %GOROOT_BOOTSTRAP%\bin\go.exe -echo Set GOROOT_BOOTSTRAP to a working Go tree ^>= Go 1.17. +echo Set GOROOT_BOOTSTRAP to a working Go tree ^>= Go %bootgo%. :fail set GOBUILDFAIL=1 diff --git a/src/make.rc b/src/make.rc index 04f309b4c5..e17ee316ad 100755 --- a/src/make.rc +++ b/src/make.rc @@ -47,12 +47,13 @@ if(~ $1 -v) { shift } +bootgo = 1.17.13 GOROOT = `{cd .. && pwd} goroot_bootstrap_set = 'true' if(! ~ $#GOROOT_BOOTSTRAP 1){ goroot_bootstrap_set = 'false' GOROOT_BOOTSTRAP = $home/go1.4 - for(d in sdk/go1.17 go1.17) + for(d in sdk/go$bootgo go$bootgo) if(test -d $home/$d) GOROOT_BOOTSTRAP = $home/$d } @@ -72,12 +73,12 @@ for(p in $path){ } if(! test -x $GOROOT_BOOTSTRAP/bin/go){ echo 'ERROR: Cannot find '$GOROOT_BOOTSTRAP'/bin/go.' >[1=2] - echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.17.' >[1=2] + echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go '$bootgo'.' >[1=2] exit bootstrap } if(~ $GOROOT_BOOTSTRAP $GOROOT){ echo 'ERROR: $GOROOT_BOOTSTRAP must not be set to $GOROOT' >[1=2] - echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.17.' >[1=2] + echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go '$bootgo'.' >[1=2] exit bootstrap }