diff options
| author | Cherry Mui <cherryyz@google.com> | 2023-03-02 19:16:34 -0500 |
|---|---|---|
| committer | Cherry Mui <cherryyz@google.com> | 2023-03-06 19:27:53 +0000 |
| commit | 34d6aaae29023b9edfef2d3360d89e48c8dd118f (patch) | |
| tree | 3fe4c4b2788cc2641d75976b162d5e263d39740e /src/debug | |
| parent | 74502e9bb4d732239fa684969ddb22e7b7345f3a (diff) | |
| download | go-34d6aaae29023b9edfef2d3360d89e48c8dd118f.tar.xz | |
cmd/go: distinguish packages built for different main packages in printing
In -pgo=auto mode, a package may be built multiple times. E.g. for
go build -pgo=auto cmd/a cmd/b
and both cmd/a and cmd/b imports package p, p may be built twice,
one using a's profile, one using b's. If we need to print p, e.g.
in "go list -deps" or when there is a build failure, p will be
printed twice, and currently we don't distinguish them.
We have a precedence for a similar case: for testing, there is the
original package, and the (internal) test version of the package
(which includes _test.go files). Packages that import the package
under testing may also have two versions (one imports the original,
one imports the testing version). In printing, the go command
distinguishes them by adding a "[p.test]" suffix for the latter,
as they are specifically built for the p.test binary.
We do the similar. When a package needs to be compiled multiple
times for different main packages, we attach the main package's
import path, like "p [cmd/a]" for package p built specifically
for cmd/a.
For #58099.
Change-Id: I4a040cf17e1dceb5ca1810c217f16e734c858ab6
Reviewed-on: https://go-review.googlesource.com/c/go/+/473275
Reviewed-by: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Cherry Mui <cherryyz@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Diffstat (limited to 'src/debug')
0 files changed, 0 insertions, 0 deletions
