2024年3月23日作成

Goのbootstrapバージョン

Go 1.5(2015年8月!)から、Goコンパイラ自体もGoで実装されるようになった。 このとき、最初にGoをビルドするためのコンパイラをどこから持ってくるかだけども、 Go 1.4のGoコンパイラで新しいバージョンのgo_bootstrapをビルドして、 あとはgo_bootstrapを使ってビルドしていく方法になった。

Go 1.4のツールチェーンが置かれるディレクトリはgo1.4と決められているが、 変更するときはGOROOT_BOOTSTRAP環境変数で指定できる。 基本的に1.4以上であれば、新しいものを使う限りは問題ない。

Go 1.20で、go_bootstrapをビルドするためのバージョンがGo 1.17まで上がった。 それ以降は2つ前のバージョンが使われるようになったらしい。