From 8fb6a469472b3d79798da0b3f84b9579fae18ec3 Mon Sep 17 00:00:00 2001 From: Conrad Irwin Date: Thu, 21 Nov 2024 21:03:29 -0700 Subject: [PATCH] cmd/go: pass os.Args[0] to mod tools Fixes #70509 Change-Id: I62952c0ac5de456742b7bee3552a0d90238bfde5 Reviewed-on: https://go-review.googlesource.com/c/go/+/631075 Reviewed-by: Michael Matloob LUCI-TryBot-Result: Go LUCI Reviewed-by: Dmitri Shuralyov Auto-Submit: Ian Lance Taylor --- src/cmd/go/internal/tool/tool.go | 2 +- src/cmd/go/testdata/script/tool_exename.txt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cmd/go/internal/tool/tool.go b/src/cmd/go/internal/tool/tool.go index 36bf983872..9fd917e0cb 100644 --- a/src/cmd/go/internal/tool/tool.go +++ b/src/cmd/go/internal/tool/tool.go @@ -305,7 +305,7 @@ func runBuiltTool(b *work.Builder, ctx context.Context, a *work.Action) error { toolCmd := &exec.Cmd{ Path: cmdline[0], - Args: cmdline[1:], + Args: cmdline, Stdin: os.Stdin, Stdout: os.Stdout, Stderr: os.Stderr, diff --git a/src/cmd/go/testdata/script/tool_exename.txt b/src/cmd/go/testdata/script/tool_exename.txt index dc289b4764..012a107388 100644 --- a/src/cmd/go/testdata/script/tool_exename.txt +++ b/src/cmd/go/testdata/script/tool_exename.txt @@ -12,6 +12,12 @@ go tool bar stdout 'my name is: bar'$GOEXE ! stdout 'a.out' +# Third run: with arguments +# https://go.dev/issue/70509 +go tool bar --baz +stdout 'my name is: bar'$GOEXE +! stdout 'a.out' + -- go.mod -- module example.com/foo -- 2.48.1