--- src/cmd/go/internal/work/buildid.go.old 2021-01-25 20:27:56.000000000 +0100 +++ src/cmd/go/internal/work/buildid.go 2021-01-25 20:28:20.000000000 +0100 @@ -617,7 +617,11 @@ func (b *Builder) flushOutput(a *Action) func (b *Builder) updateBuildID(a *Action, target string, rewrite bool) error { if cfg.BuildX || cfg.BuildN { if rewrite { - b.Showcmd("", "%s # internal", joinUnambiguously(str.StringList(base.Tool("buildid"), "-w", target))) + if strings.Contains(os.Args[0], "go_bootstrap") { + b.Showcmd("", "%s # internal", joinUnambiguously(str.StringList(base.Tool("go_bootstrap"), "tool", "buildid", "-w", target))) + } else { + b.Showcmd("", "%s # internal", joinUnambiguously(str.StringList(base.Tool("buildid"), "-w", target))) + } } if cfg.BuildN { return nil --- src/cmd/go/internal/work/gc.go.old 2021-01-25 20:27:56.000000000 +0100 +++ src/cmd/go/internal/work/gc.go 2021-01-25 20:28:20.000000000 +0100 @@ -365,7 +365,14 @@ func (gcToolchain) pack(b *Builder, a *A p := a.Package if cfg.BuildN || cfg.BuildX { - cmdline := str.StringList(base.Tool("pack"), "r", absAfile, absOfiles) + cmdline := str.StringList("r", absAfile, absOfiles) + var toolPath []string + if strings.Contains(os.Args[0], "go_bootstrap") { + toolPath = str.StringList(base.Tool("go_bootstrap"), "tool", "pack") + } else { + toolPath = str.StringList(base.Tool("pack")) + } + cmdline = append(toolPath, cmdline...) b.Showcmd(p.Dir, "%s # internal", joinUnambiguously(cmdline)) } if cfg.BuildN {