From 1df309eb023973f52b4955ea5b001c0d44961743 Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Fri, 23 Apr 2021 22:30:38 -0400 Subject: cmd/compile: skip types.Sym for GC mask symbols For GC mask symbols, we don't need to create types.Sym, just the LSym. Change-Id: I285b518cfd60bfaa3202a02b3005a7122daeb338 Reviewed-on: https://go-review.googlesource.com/c/go/+/313512 Trust: Cherry Zhang Run-TryBot: Cherry Zhang TryBot-Result: Go Bot Reviewed-by: Than McIntosh --- src/cmd/compile/internal/reflectdata/reflect.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/cmd/compile/internal/reflectdata/reflect.go') diff --git a/src/cmd/compile/internal/reflectdata/reflect.go b/src/cmd/compile/internal/reflectdata/reflect.go index 26b08ee08a..836174d0ce 100644 --- a/src/cmd/compile/internal/reflectdata/reflect.go +++ b/src/cmd/compile/internal/reflectdata/reflect.go @@ -1509,12 +1509,10 @@ func dgcsym(t *types.Type) (lsym *obj.LSym, useGCProg bool, ptrdata int64) { func dgcptrmask(t *types.Type) *obj.LSym { ptrmask := make([]byte, (types.PtrDataSize(t)/int64(types.PtrSize)+7)/8) fillptrmask(t, ptrmask) - p := fmt.Sprintf("gcbits.%x", ptrmask) + p := fmt.Sprintf("runtime.gcbits.%x", ptrmask) - sym := ir.Pkgs.Runtime.Lookup(p) - lsym := sym.Linksym() - if !sym.Uniq() { - sym.SetUniq(true) + lsym := base.Ctxt.Lookup(p) + if !lsym.OnList() { for i, x := range ptrmask { objw.Uint8(lsym, i, x) } -- cgit v1.2.3-54-g00ecf