From 4e584c52036fb2a572fab466e2a291fb695da882 Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle Date: Fri, 28 Oct 2016 15:08:28 +1300 Subject: [PATCH] cmd/compile: mark go.itab.* symbols local earlier This feels a bit like a layering violation, but as the bug report shows it is sometimes necessary. Fixes #17642 Change-Id: I4ba060bb1ce73a527ce276e5a769c44692b50016 Reviewed-on: https://go-review.googlesource.com/32236 Run-TryBot: Michael Hudson-Doyle TryBot-Result: Gobot Gobot Reviewed-by: David Crawshaw --- src/cmd/compile/internal/gc/reflect.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/cmd/compile/internal/gc/reflect.go b/src/cmd/compile/internal/gc/reflect.go index 57192dec1cd..26643c0250c 100644 --- a/src/cmd/compile/internal/gc/reflect.go +++ b/src/cmd/compile/internal/gc/reflect.go @@ -979,6 +979,7 @@ func itabname(t, itype *Type) *Node { Fatalf("itabname(%v, %v)", t, itype) } s := Pkglookup(t.tconv(FmtLeft)+","+itype.tconv(FmtLeft), itabpkg) + Linksym(s).Set(obj.AttrLocal, true) if s.Def == nil { n := newname(s) n.Type = Types[TUINT8]