Blob Blame History Raw
diff -up go/src/cmd/dist/buildtool.go.bootstrap go/src/cmd/dist/buildtool.go
--- go/src/cmd/dist/buildtool.go.bootstrap	2015-11-12 06:19:58.000000000 +0100
+++ go/src/cmd/dist/buildtool.go	2015-11-13 09:54:58.796721027 +0100
@@ -106,12 +106,20 @@ func bootstrapBuildTools() {
 	os.Setenv("GOBIN", "")
 
 	os.Setenv("GOOS", "")
-	os.Setenv("GOHOSTOS", "")
 	os.Setenv("GOARCH", "")
+
+	hostos := os.Getenv("GOHOSTOS")
+	hostarch := os.Getenv("GOHOSTARCH")
+	os.Setenv("GOHOSTOS", "")
 	os.Setenv("GOHOSTARCH", "")
 
+	bingopath := pathf("%s/bin/%s_%s/go", goroot_bootstrap, hostos, hostarch)
+	if _, err := os.Stat(bingopath); os.IsNotExist(err) {
+		bingopath = pathf("%s/bin/go", goroot_bootstrap)
+	}
+
 	// Run Go 1.4 to build binaries.
-	run(workspace, ShowOutput|CheckExit, pathf("%s/bin/go", goroot_bootstrap), "install", "-v", "bootstrap/...")
+	run(workspace, ShowOutput|CheckExit, bingopath, "install", "-v", "bootstrap/...")
 
 	// Copy binaries into tool binary directory.
 	for _, name := range bootstrapDirs {
diff -up go/src/make.bash.bootstrap go/src/make.bash
--- go/src/make.bash.bootstrap	2015-11-13 09:54:58.797721031 +0100
+++ go/src/make.bash	2015-11-13 10:11:11.633552619 +0100
@@ -113,8 +113,15 @@ echo '##### Building Go bootstrap tool.'
 echo cmd/dist
 export GOROOT="$(cd .. && pwd)"
 GOROOT_BOOTSTRAP=${GOROOT_BOOTSTRAP:-$HOME/go1.4}
-if [ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]; then
-	echo "ERROR: Cannot find $GOROOT_BOOTSTRAP/bin/go." >&2
+if [ -x "$GOROOT_BOOTSTRAP/bin/${GOHOSTOS}_${GOHOSTARCH}/go" ]; then
+	rm -f cmd/dist/dist
+	GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/${GOHOSTOS}_${GOHOSTARCH}/go" build -o cmd/dist/dist ./cmd/dist
+elif [ -x "$GOROOT_BOOTSTRAP/bin/go" ]; then
+	rm -f cmd/dist/dist
+	GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
+else
+	echo "ERROR: Cannot find $GOROOT_BOOTSTRAP/bin/${GOHOSTOS}_${GOHOSTARCH}/go." >&2
+	echo "ERROR: or $GOROOT_BOOTSTRAP/bin/${GOHOSTOS}_${GOHOSTARCH}/go." >&2
 	echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4." >&2
 	exit 1
 fi