]> Cypherpunks repositories - gostls13.git/commitdiff
debug/dwarf: return ErrUnknownPC rather than nil on unknown PC
authorJoel Sing <joel@sing.id.au>
Thu, 2 Mar 2023 14:24:06 +0000 (01:24 +1100)
committerJoel Sing <joel@sing.id.au>
Sat, 18 Mar 2023 06:31:16 +0000 (06:31 +0000)
Currently, on e == nil or e.Tag == 0, SeekPC returns with a nil error.
Instead, indicate that the PC is unknown.

Change-Id: I9594296034e2df872e399bd800b00cb565c413c9
Reviewed-on: https://go-review.googlesource.com/c/go/+/473695
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>

src/debug/dwarf/entry.go

index 5bb4297b4896a4972bee6f8bcdb88b6b89352d32..f1215d2b018570869299c37fddf9734a3c3d45a4 100644 (file)
@@ -975,9 +975,12 @@ func (r *Reader) SeekPC(pc uint64) (*Entry, error) {
                u := &r.d.unit[unit]
                r.b = makeBuf(r.d, u, "info", u.off, u.data)
                e, err := r.Next()
-               if err != nil || e == nil || e.Tag == 0 {
+               if err != nil {
                        return nil, err
                }
+               if e == nil || e.Tag == 0 {
+                       return nil, ErrUnknownPC
+               }
                ranges, err := r.d.Ranges(e)
                if err != nil {
                        return nil, err