aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/load/pkg.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2023-06-20 13:14:11 -0400
committerRuss Cox <rsc@golang.org>2023-08-10 15:55:10 +0000
commitfaa549e4c7aeb997a7fa802f5f9398db5a57c32c (patch)
tree2e5bda6ac7d9aab5039e034d2f7a0adbf7822b07 /src/cmd/go/internal/load/pkg.go
parentc14655da986e6c43268ad3edec1cf984a763694f (diff)
downloadgo-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.go6
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 {