]> Cypherpunks repositories - gostls13.git/commitdiff
debug/gosym: fix version check in file table access
authorCherry Mui <cherryyz@google.com>
Thu, 30 Sep 2021 15:46:41 +0000 (11:46 -0400)
committerCherry Mui <cherryyz@google.com>
Thu, 30 Sep 2021 16:14:49 +0000 (16:14 +0000)
Go 1.16 and 1.18 table are the same for that part. Accept 1.18
version number in that code.

Fixes #48699.

Change-Id: I44eafa279a94bd06444f61518aedd541b25390fd
Reviewed-on: https://go-review.googlesource.com/c/go/+/353329
Trust: Cherry Mui <cherryyz@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
src/debug/gosym/pclntab.go

index fdaa47a9174865c76e0e34cccda0b7ec5c761a9e..b2bd914ad7600d84b065df243ab094a519732dea 100644 (file)
@@ -490,7 +490,7 @@ func (t *LineTable) findFileLine(entry uint64, filetab, linetab uint32, filenum,
        fileStartPC := filePC
        for t.step(&fp, &filePC, &fileVal, filePC == entry) {
                fileIndex := fileVal
-               if t.version == ver116 {
+               if t.version == ver116 || t.version == ver118 {
                        fileIndex = int32(t.binary.Uint32(cutab[fileVal*4:]))
                }
                if fileIndex == filenum && fileStartPC < filePC {
@@ -589,7 +589,7 @@ func (t *LineTable) go12LineToPC(file string, line int) (pc uint64) {
                entry := f.entryPC()
                filetab := f.pcfile()
                linetab := f.pcln()
-               if t.version == ver116 {
+               if t.version == ver116 || t.version == ver118 {
                        cutab = t.cutab[f.cuOffset()*4:]
                }
                pc := t.findFileLine(entry, filetab, linetab, int32(filenum), int32(line), cutab)