]> Cypherpunks repositories - gostls13.git/commit
debug/gosym: skip non-real functions in LineToPC lookup
authorCherry Mui <cherryyz@google.com>
Wed, 23 Mar 2022 16:02:36 +0000 (12:02 -0400)
committerCherry Mui <cherryyz@google.com>
Wed, 23 Mar 2022 17:12:00 +0000 (17:12 +0000)
commitdd211cf039d5a3b57d2188751eca49ad816ed395
tree68e6e009bfc9b31279bd50ec7b69cc1f0db9e7d5
parent909a7a32138367abec92434872695fb65aa9b7d1
debug/gosym: skip non-real functions in LineToPC lookup

The code iterates through the func table to find a function with
a given file and line number. The code panics if it sees a non-
real function (e.g. go.buildid), because its CU offset is -1,
which causes an index-out-of-bounds error. The debug/gosym package
recovers the panic and returns "not found", without looping
through the rest of the entries.

Skip the non-real functions. They cannot be looked up by line
number anyway.

Fixes #51890.

Change-Id: I96f64c17b4a53ffdce047c8244b35a402a0d39ac
Reviewed-on: https://go-review.googlesource.com/c/go/+/395074
Trust: Cherry Mui <cherryyz@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
src/debug/gosym/pclntab.go