diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/compile/internal/gc/bexport.go | 2 | ||||
| -rw-r--r-- | src/cmd/compile/internal/gc/bimport.go | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/gc/bexport.go b/src/cmd/compile/internal/gc/bexport.go index a8f5c3bda0..563e1fba48 100644 --- a/src/cmd/compile/internal/gc/bexport.go +++ b/src/cmd/compile/internal/gc/bexport.go @@ -1584,6 +1584,8 @@ func (p *exporter) sym(n *Node) { if name != "_" { p.pkg(s.Pkg) } + // Fixes issue #18167. + p.string(s.Linkname) } func (p *exporter) bool(b bool) bool { diff --git a/src/cmd/compile/internal/gc/bimport.go b/src/cmd/compile/internal/gc/bimport.go index 752f65be42..e76d5ccfff 100644 --- a/src/cmd/compile/internal/gc/bimport.go +++ b/src/cmd/compile/internal/gc/bimport.go @@ -1185,7 +1185,10 @@ func (p *importer) sym() *Sym { if name != "_" { pkg = p.pkg() } - return pkg.Lookup(name) + linkname := p.string() + sym := pkg.Lookup(name) + sym.Linkname = linkname + return sym } func (p *importer) bool() bool { |
