mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
This commit is contained in:
parent
e0dd927123
commit
74d92db8d7
3 changed files with 0 additions and 24 deletions
|
|
@ -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)) {
|
||||||
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) {
|
||||||
// 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.
|
||||||
//
|
//
|
||||||
|
|
|
||||||
7
src/cmd/dist/build.go
vendored
7
src/cmd/dist/build.go
vendored
|
|
@ -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")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue