Skip to content

Commit

Permalink
cmd/go: more cross-package references from internal/syscall/unix
Browse files Browse the repository at this point in the history
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: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Clément Chigot <clement.chigot@atos.net>
Reviewed-by: Keith Randall <khr@golang.org>
  • Loading branch information
aclements committed Nov 23, 2018
1 parent 63a3993 commit c6d4939
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/cmd/go/internal/work/gc.go
Expand Up @@ -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.
Expand Down

0 comments on commit c6d4939

Please sign in to comment.