diff options
author | Russ Cox <rsc@golang.org> | 2017-11-07 20:39:54 -0500 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2017-11-09 15:03:49 +0000 |
commit | 98f1bfbb180b30e899b27ef5c5f53d16138dbd86 (patch) | |
tree | 30b74bffeee0375a7b39e9f16d1aac761ac97715 /src/cmd/go/internal/cfg/cfg.go | |
parent | d8ee5d11e5d13398671346c8c4dff824754a2144 (diff) | |
download | go-98f1bfbb180b30e899b27ef5c5f53d16138dbd86.tar.gz go-98f1bfbb180b30e899b27ef5c5f53d16138dbd86.zip |
cmd/go: move cfg.ExternalLinkingForced to internal/load
It needs to refer to packages, so it can no longer be in cfg.
No semantic changes here.
Can now be unexported, so that was a net win anyway.
Change-Id: I58bf6cdcd435e6e019291bb8dcd5d5b7f1ac03a3
Reviewed-on: https://go-review.googlesource.com/76550
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Diffstat (limited to 'src/cmd/go/internal/cfg/cfg.go')
-rw-r--r-- | src/cmd/go/internal/cfg/cfg.go | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go index 5f93f39f90..ab20c20e2f 100644 --- a/src/cmd/go/internal/cfg/cfg.go +++ b/src/cmd/go/internal/cfg/cfg.go @@ -151,40 +151,3 @@ func isGOROOT(path string) bool { } return stat.IsDir() } - -// ExternalLinkingForced reports whether external linking is being -// forced even for programs that do not use cgo. -func ExternalLinkingForced() bool { - // Some targets must use external linking even inside GOROOT. - switch BuildContext.GOOS { - case "android": - return true - case "darwin": - switch BuildContext.GOARCH { - case "arm", "arm64": - return true - } - } - - if !BuildContext.CgoEnabled { - return false - } - // Currently build modes c-shared, pie (on systems that do not - // support PIE with internal linking mode (currently all - // systems: issue #18968)), plugin, and -linkshared force - // external linking mode, as of course does - // -ldflags=-linkmode=external. External linking mode forces - // an import of runtime/cgo. - pieCgo := BuildBuildmode == "pie" - linkmodeExternal := false - for i, a := range BuildLdflags { - if a == "-linkmode=external" { - linkmodeExternal = true - } - if a == "-linkmode" && i+1 < len(BuildLdflags) && BuildLdflags[i+1] == "external" { - linkmodeExternal = true - } - } - - return BuildBuildmode == "c-shared" || BuildBuildmode == "plugin" || pieCgo || BuildLinkshared || linkmodeExternal -} |