Commit c6d49393 authored by Austin Clements's avatar Austin Clements

cmd/go: more cross-package references from internal/syscall/unix

On some platforms, assembly in internal/syscall/unix references
unexported runtime symbols. Catch these references so the compiler can
generate the necessary ABI wrappers.

Fixes #28769.
Updates #27539.

Change-Id: I118eebfb8b3d907b4c3562198e6afb49854f5827
Reviewed-on: https://go-review.googlesource.com/c/149817
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: 's avatarTobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: 's avatarClément Chigot <clement.chigot@atos.net>
Reviewed-by: 's avatarKeith Randall <khr@golang.org>
parent 63a3993a
......@@ -295,9 +295,9 @@ func (gcToolchain) symabis(b *Builder, a *Action, sfiles []string) (string, erro
// Gather known cross-package references from assembly code.
var otherPkgs []string
if p.ImportPath == "runtime" {
// Assembly in syscall and runtime/cgo references
// Assembly in the following packages references
// symbols in runtime.
otherPkgs = []string{"syscall", "runtime/cgo"}
otherPkgs = []string{"syscall", "internal/syscall/unix", "runtime/cgo"}
} else if p.ImportPath == "runtime/internal/atomic" {
// sync/atomic is an assembly wrapper around
// runtime/internal/atomic.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment