]> Cypherpunks.ru repositories - gostls13.git/commitdiff
cmd/compile/internal/pgo: add hint to missing start_line error
authorMichael Pratt <mpratt@google.com>
Mon, 9 Jan 2023 18:59:54 +0000 (13:59 -0500)
committerMichael Pratt <mpratt@google.com>
Mon, 9 Jan 2023 21:50:54 +0000 (21:50 +0000)
Profiles only began adding Function.start_line in 1.20. If it is
missing, add a hint to the error message that they may need to profile a
build of the application built with a newer version of the toolchain.

Technically profiles are not required to come from Go itself (e.g., they
could be converted from perf), but in practice they most likely are.

Fixes #57674.

Change-Id: I87eca126d3fed0cff94bbb8dd748bd4652f88b12
Reviewed-on: https://go-review.googlesource.com/c/go/+/461195
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>

src/cmd/compile/internal/pgo/irgraph.go

index 311f20ed8175423b751b2bcd6ff1b180a0f4aafb..bf11e365f1042ac959199a12576771244df19557 100644 (file)
@@ -217,7 +217,7 @@ func (p *Profile) processprofileGraph(g *Graph) bool {
                // TODO(prattic): If Function.start_line is missing we could
                // fall back to using absolute line numbers, which is better
                // than nothing.
-               log.Fatal("PGO profile missing Function.start_line data")
+               log.Fatal("PGO profile missing Function.start_line data (Go version of profiled application too old? Go 1.20+ automatically adds this to profiles)")
        }
 
        return true