diff --git a/src/cmd/link/internal/ld/pcln.go b/src/cmd/link/internal/ld/pcln.go index 33da391d8f..df06084352 100644 --- a/src/cmd/link/internal/ld/pcln.go +++ b/src/cmd/link/internal/ld/pcln.go @@ -828,7 +828,7 @@ func expandGoroot(s string) string { const ( SUBBUCKETS = 16 - SUBBUCKETSIZE = abi.Pcbucketsize / SUBBUCKETS + SUBBUCKETSIZE = abi.FuncTabBucketSize / SUBBUCKETS NOIDX = 0x7fffffff ) @@ -846,7 +846,7 @@ func (ctxt *Link) findfunctab(state *pclntab, container loader.Bitmap) { // that map to that subbucket. n := int32((max - min + SUBBUCKETSIZE - 1) / SUBBUCKETSIZE) - nbuckets := int32((max - min + abi.Pcbucketsize - 1) / abi.Pcbucketsize) + nbuckets := int32((max - min + abi.FuncTabBucketSize - 1) / abi.FuncTabBucketSize) size := 4*int64(nbuckets) + int64(n) diff --git a/src/internal/abi/symtab.go b/src/internal/abi/symtab.go index 724f26e7eb..a3c9be7aa1 100644 --- a/src/internal/abi/symtab.go +++ b/src/internal/abi/symtab.go @@ -108,4 +108,4 @@ const ( const MINFUNC = 16 // minimum size for a function -const Pcbucketsize = 256 * MINFUNC // size of bucket in the pc->func lookup table +const FuncTabBucketSize = 256 * MINFUNC // size of bucket in the pc->func lookup table diff --git a/src/runtime/symtab.go b/src/runtime/symtab.go index b540c879f3..96a2d29079 100644 --- a/src/runtime/symtab.go +++ b/src/runtime/symtab.go @@ -778,8 +778,8 @@ func findfunc(pc uintptr) funcInfo { } x := uintptr(pcOff) + datap.text - datap.minpc // TODO: are datap.text and datap.minpc always equal? - b := x / abi.Pcbucketsize - i := x % abi.Pcbucketsize / (abi.Pcbucketsize / nsub) + b := x / abi.FuncTabBucketSize + i := x % abi.FuncTabBucketSize / (abi.FuncTabBucketSize / nsub) ffb := (*findfuncbucket)(add(unsafe.Pointer(datap.findfunctab), b*unsafe.Sizeof(findfuncbucket{}))) idx := ffb.idx + uint32(ffb.subbuckets[i])