From d620ba0fbbb7e786cbc8643c0876a79af93eeb9d Mon Sep 17 00:00:00 2001 From: Matthew Dempsky Date: Thu, 2 Nov 2017 15:27:13 -0700 Subject: [PATCH] cmd/toolstash: don't try comparing "compile -V=full" output Fixes golang/go#22552. Change-Id: I2a31cf4fe85f33068502102031ed62f06abb6d6e Reviewed-on: https://go-review.googlesource.com/75670 Run-TryBot: Matthew Dempsky Reviewed-by: Robert Griesemer --- cmd/toolstash/main.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/cmd/toolstash/main.go b/cmd/toolstash/main.go index 997e54ad..015ed13d 100644 --- a/cmd/toolstash/main.go +++ b/cmd/toolstash/main.go @@ -174,9 +174,16 @@ var ( binDir string ) -func canCmp(name string) bool { +func canCmp(name string, args []string) bool { switch name { - case "compile", "link", "asm": + case "compile": + if len(args) == 1 && (args[0] == "-V" || strings.HasPrefix(args[0], "-V=")) { + // cmd/go uses "compile -V=full" to query the + // compiler's build ID. + return false + } + return true + case "link", "asm": return true } return len(name) == 2 && '0' <= name[0] && name[0] <= '9' && (name[1] == 'a' || name[1] == 'g' || name[1] == 'l') @@ -235,7 +242,7 @@ func main() { os.Exit(2) } - if *cmp && canCmp(tool) { + if *cmp && canCmp(tool, cmd[1:]) { compareTool() return }