1
0
mirror of https://github.com/golang/go synced 2024-11-17 04:04:46 -07:00

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 <cherryyz@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
This commit is contained in:
Cherry Mui 2021-09-30 11:46:41 -04:00
parent 7162c4c7ca
commit b043d231fa

View 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)