Commit 74d92db8 authored by Austin Clements's avatar Austin Clements

cmd/dist,cmd/compile: remove -allabis mode

dist passes the -allabis flag to the compiler to avoid having to
recreate the cross-package ABI logic from cmd/go. However, we removed
that logic from cmd/go in CL 179863 and replaced it with a different
mechanism that doesn't depend on the build system. Hence, passing
-allabis in dist is no longer necessary.

This CL removes -allabis from dist and, since that was the only use of
it, removes support for it from the compiler as well.

Updates #31230.

Change-Id: Ib005db95755a7028f49c885785e72c3970aea4f9
Reviewed-on: https://go-review.googlesource.com/c/go/+/181079
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: default avatarJay Conrod <jayconrod@google.com>
parent e0dd9271
...@@ -234,17 +234,6 @@ func (f *Func) initLSym(hasBody bool) { ...@@ -234,17 +234,6 @@ func (f *Func) initLSym(hasBody bool) {
} }
} }
if !needABIAlias && allABIs {
// The compiler was asked to produce ABI
// wrappers for everything.
switch f.lsym.ABI() {
case obj.ABI0:
needABIAlias, aliasABI = true, obj.ABIInternal
case obj.ABIInternal:
needABIAlias, aliasABI = true, obj.ABI0
}
}
if needABIAlias { if needABIAlias {
// These LSyms have the same name as the // These LSyms have the same name as the
// native function, so we create them directly // native function, so we create them directly
......
...@@ -259,7 +259,6 @@ func Main(archInit func(*Arch)) { ...@@ -259,7 +259,6 @@ func Main(archInit func(*Arch)) {
flag.StringVar(&goversion, "goversion", "", "required version of the runtime") flag.StringVar(&goversion, "goversion", "", "required version of the runtime")
var symabisPath string var symabisPath string
flag.StringVar(&symabisPath, "symabis", "", "read symbol ABIs from `file`") flag.StringVar(&symabisPath, "symabis", "", "read symbol ABIs from `file`")
flag.BoolVar(&allABIs, "allabis", false, "generate ABI wrappers for all symbols (for bootstrap)")
flag.StringVar(&traceprofile, "traceprofile", "", "write an execution trace to `file`") flag.StringVar(&traceprofile, "traceprofile", "", "write an execution trace to `file`")
flag.StringVar(&blockprofile, "blockprofile", "", "write block profile to `file`") flag.StringVar(&blockprofile, "blockprofile", "", "write block profile to `file`")
flag.StringVar(&mutexprofile, "mutexprofile", "", "write mutex profile to `file`") flag.StringVar(&mutexprofile, "mutexprofile", "", "write mutex profile to `file`")
...@@ -849,11 +848,6 @@ func readImportCfg(file string) { ...@@ -849,11 +848,6 @@ func readImportCfg(file string) {
// name, where the local package prefix is always `"".` // name, where the local package prefix is always `"".`
var symabiDefs, symabiRefs map[string]obj.ABI var symabiDefs, symabiRefs map[string]obj.ABI
// allABIs indicates that all symbol definitions should have ABI
// wrappers. This is used during toolchain bootstrapping to avoid
// having to find cross-package references.
var allABIs bool
// readSymABIs reads a symabis file that specifies definitions and // readSymABIs reads a symabis file that specifies definitions and
// references of text symbols by ABI. // references of text symbols by ABI.
// //
......
...@@ -866,13 +866,6 @@ func runInstall(dir string, ch chan struct{}) { ...@@ -866,13 +866,6 @@ func runInstall(dir string, ch chan struct{}) {
if symabis != "" { if symabis != "" {
compile = append(compile, "-symabis", symabis) compile = append(compile, "-symabis", symabis)
} }
if dir == "runtime" || dir == "runtime/internal/atomic" {
// These packages define symbols referenced by
// assembly in other packages. In cmd/go, we work out
// the exact details. For bootstrapping, just tell the
// compiler to generate ABI wrappers for everything.
compile = append(compile, "-allabis")
}
if goos == "android" { if goos == "android" {
compile = append(compile, "-shared") compile = append(compile, "-shared")
} }
......
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