From a93bc1d26e70cf471ad8f7580333213c67b85313 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 27 Oct 2017 10:34:25 -0400 Subject: [PATCH] cmd/dist: use latest heap, sort packages for compiler bootstrap The compiler depends on the way heap and sort break ties in some cases. Instead of trying to find them all, bundle those packages into the bootstrap compiler builds. The overall goal is that Go1.4 building cmd/compile during the bootstrap process produces a semantically equivalent compiler to cmd/compile compiling itself. After this CL, that property is true, at least for the compiler compiling itself and the other tools. A test for this property will be in CL 73212. Change-Id: Icc1ba7cbe828f5673e8198ebacb18c7c01f3a735 Reviewed-on: https://go-review.googlesource.com/73952 Run-TryBot: Russ Cox Reviewed-by: Cherry Zhang TryBot-Result: Gobot Gobot --- src/cmd/dist/buildtool.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go index d86af557b2..2756a3b1db 100644 --- a/src/cmd/dist/buildtool.go +++ b/src/cmd/dist/buildtool.go @@ -77,12 +77,14 @@ var bootstrapDirs = []string{ "cmd/link/internal/s390x", "cmd/link/internal/sym", "cmd/link/internal/x86", + "container/heap", "debug/dwarf", "debug/elf", "debug/macho", "debug/pe", "math/big", "math/bits", + "sort", } // File prefixes that are ignored by go/build anyway, and cause @@ -180,7 +182,7 @@ func bootstrapBuildTools() { pathf("%s/bin/go", goroot_bootstrap), "install", "-gcflags=-l", - "-tags=math_big_pure_go", + "-tags=math_big_pure_go compiler_bootstrap", "-v", } if tool := os.Getenv("GOBOOTSTRAP_TOOLEXEC"); tool != "" {