From: Cherry Mui Date: Thu, 30 Sep 2021 15:46:41 +0000 (-0400) Subject: debug/gosym: fix version check in file table access X-Git-Tag: go1.18beta1~1110 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=b043d231fa1e1cbc17ddcfb007d92d83dee72428;p=gostls13.git debug/gosym: fix version check in file table access 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 Run-TryBot: Cherry Mui Reviewed-by: Bryan C. Mills --- diff --git a/src/debug/gosym/pclntab.go b/src/debug/gosym/pclntab.go index fdaa47a917..b2bd914ad7 100644 --- a/src/debug/gosym/pclntab.go +++ b/src/debug/gosym/pclntab.go @@ -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)