From b043d231fa1e1cbc17ddcfb007d92d83dee72428 Mon Sep 17 00:00:00 2001 From: Cherry Mui Date: Thu, 30 Sep 2021 11:46:41 -0400 Subject: [PATCH] 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 --- src/debug/gosym/pclntab.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/debug/gosym/pclntab.go b/src/debug/gosym/pclntab.go index fdaa47a9174..b2bd914ad76 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)