diff options
author | Russ Cox <rsc@golang.org> | 2023-06-20 13:14:11 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2023-08-10 15:55:10 +0000 |
commit | faa549e4c7aeb997a7fa802f5f9398db5a57c32c (patch) | |
tree | 2e5bda6ac7d9aab5039e034d2f7a0adbf7822b07 /src/cmd/go/internal/load/pkg.go | |
parent | c14655da986e6c43268ad3edec1cf984a763694f (diff) | |
download | go-faa549e4c7aeb997a7fa802f5f9398db5a57c32c.tar.gz go-faa549e4c7aeb997a7fa802f5f9398db5a57c32c.zip |
cmd/go: keep BuildInfo list sorted even with -pgo
The -pgo build setting is added late, so sort it into place.
Noticed while working on CL 504536.
Change-Id: I080d2389dc0b3176fb72c9e2434e5f3ae70e294e
Reviewed-on: https://go-review.googlesource.com/c/go/+/504537
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/cmd/go/internal/load/pkg.go')
-rw-r--r-- | src/cmd/go/internal/load/pkg.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go index 4ea1ebaa25..0abc09186d 100644 --- a/src/cmd/go/internal/load/pkg.go +++ b/src/cmd/go/internal/load/pkg.go @@ -2387,10 +2387,10 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) { appendSetting("-ldflags", ldflags) } } - // N.B. -pgo added later by setPGOProfilePath. if cfg.BuildMSan { appendSetting("-msan", "true") } + // N.B. -pgo added later by setPGOProfilePath. if cfg.BuildRace { appendSetting("-race", "true") } @@ -2928,6 +2928,10 @@ func setPGOProfilePath(pkgs []*Package) { } else { appendBuildSetting(p.Internal.BuildInfo, "-pgo", file) } + // Adding -pgo breaks the sort order in BuildInfo.Settings. Restore it. + slices.SortFunc(p.Internal.BuildInfo.Settings, func(x, y debug.BuildSetting) int { + return strings.Compare(x.Key, y.Key) + }) } switch cfg.BuildPGO { |