This CL will break any uses of 'go tool 5a' etc.
That is intentional.
Code that invokes an assembler directly should be updated to use go tool asm.
We plan to keep the old5a around for bit-for-bit verification during
the release testing phase, but we plan to remove those tools for the
actual release. Renaming the directory now makes sure that lingering
references to 'go tool 5a' will be caught, changed to use asm, and
tested during the release evaluation.
Change-Id: I98748a7ddb34cc7f1b151c2ef421d3656821f5c2
Reviewed-on: https://go-review.googlesource.com/6366
Reviewed-by: Rob Pike <r@golang.org>
var compile []string
// Assembly file for a Go package.
compile = []string{
- pathf("%s/%sa", tooldir, gochar),
+ pathf("%s/asm", tooldir),
"-I", workdir,
"-I", pathf("%s/pkg/%s_%s", goroot, goos, goarch),
"-D", "GOOS_" + goos,
// compilers but build only the $GOARCH ones.
var cleantab = []string{
// Commands and C libraries.
- "cmd/5a",
"cmd/5g",
"cmd/5l",
- "cmd/6a",
"cmd/6g",
"cmd/6l",
- "cmd/8a",
"cmd/8g",
"cmd/8l",
- "cmd/9a",
"cmd/9g",
"cmd/9l",
"cmd/go",
+ "cmd/old5a",
+ "cmd/old6a",
+ "cmd/old8a",
+ "cmd/old9a",
// Go packages.
"bufio",
// which are commands, and entries beginning with internal/, which are
// packages supporting the commands.
var bootstrapDirs = []string{
- "5a",
"5g",
"5l",
- "6a",
"6g",
"6l",
- "8a",
"8g",
"8l",
- "9a",
"9g",
"9l",
"asm",
"internal/obj/i386",
"internal/obj/ppc64",
"internal/obj/x86",
+ "old5a",
+ "old6a",
+ "old8a",
+ "old9a",
}
func bootstrapBuildTools() {
return err
}
if verifyAsm {
- if err := toolVerify(b, p, archChar+"a", ofile, args); err != nil {
+ if err := toolVerify(b, p, "old"+archChar+"a", ofile, args); err != nil {
return err
}
}
// goTools is a map of Go program import path to install target directory.
var goTools = map[string]targetDir{
- "cmd/5a": toTool,
"cmd/5g": toTool,
"cmd/5l": toTool,
- "cmd/6a": toTool,
"cmd/6g": toTool,
"cmd/6l": toTool,
- "cmd/8a": toTool,
"cmd/8g": toTool,
"cmd/8l": toTool,
- "cmd/9a": toTool,
"cmd/9g": toTool,
"cmd/9l": toTool,
"cmd/addr2line": toTool,
"cmd/link": toTool,
"cmd/nm": toTool,
"cmd/objdump": toTool,
+ "cmd/old5a": toTool,
+ "cmd/old6a": toTool,
+ "cmd/old8a": toTool,
+ "cmd/old9a": toTool,
"cmd/pack": toTool,
"cmd/pprof": toTool,
"cmd/trace": toTool,
// the resulting binary looks like it was built from pclinetest.s,
// but we have renamed it to keep it away from the go tool.
pclinetestBinary = filepath.Join(pclineTempDir, "pclinetest")
- command := fmt.Sprintf("go tool 6a -o %s.6 pclinetest.asm && go tool 6l -H linux -E main -o %s %s.6",
+ command := fmt.Sprintf("go tool asm -o %s.6 pclinetest.asm && go tool 6l -H linux -E main -o %s %s.6",
pclinetestBinary, pclinetestBinary, pclinetestBinary)
cmd := exec.Command("sh", "-c", command)
cmd.Stdout = os.Stdout