1
0
mirror of https://github.com/golang/go synced 2024-11-19 23:34:40 -07:00

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 <rsc@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Russ Cox 2017-10-27 10:34:25 -04:00
parent 3caa02f603
commit a93bc1d26e

View File

@ -77,12 +77,14 @@ var bootstrapDirs = []string{
"cmd/link/internal/s390x", "cmd/link/internal/s390x",
"cmd/link/internal/sym", "cmd/link/internal/sym",
"cmd/link/internal/x86", "cmd/link/internal/x86",
"container/heap",
"debug/dwarf", "debug/dwarf",
"debug/elf", "debug/elf",
"debug/macho", "debug/macho",
"debug/pe", "debug/pe",
"math/big", "math/big",
"math/bits", "math/bits",
"sort",
} }
// File prefixes that are ignored by go/build anyway, and cause // File prefixes that are ignored by go/build anyway, and cause
@ -180,7 +182,7 @@ func bootstrapBuildTools() {
pathf("%s/bin/go", goroot_bootstrap), pathf("%s/bin/go", goroot_bootstrap),
"install", "install",
"-gcflags=-l", "-gcflags=-l",
"-tags=math_big_pure_go", "-tags=math_big_pure_go compiler_bootstrap",
"-v", "-v",
} }
if tool := os.Getenv("GOBOOTSTRAP_TOOLEXEC"); tool != "" { if tool := os.Getenv("GOBOOTSTRAP_TOOLEXEC"); tool != "" {