mirror of
https://github.com/golang/go
synced 2024-11-19 12:34:47 -07:00
cmd/link: correct runtime/cgo detection for -linkshared
Current code detect runtime/cgo iff the package or sub packages imports runtime/cgo directly. However, when we are using linkshared, imported shared libraries might have already included runtime/cgo. This CL handles later case by looking an actual runtime/cgo symbol. Change-Id: I35e7dfdb5e1a939eafc95a0259ee1af9782bc864 Reviewed-on: https://go-review.googlesource.com/56310 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
f52ce42274
commit
064ae118c1
@ -421,7 +421,6 @@ func (ctxt *Link) loadlib() {
|
||||
|
||||
var i int
|
||||
for i = 0; i < len(ctxt.Library); i++ {
|
||||
iscgo = iscgo || ctxt.Library[i].Pkg == "runtime/cgo"
|
||||
if ctxt.Library[i].Shlib == "" {
|
||||
if ctxt.Debugvlog > 1 {
|
||||
ctxt.Logf("%5.2f autolib: %s (from %s)\n", Cputime(), ctxt.Library[i].File, ctxt.Library[i].Objref)
|
||||
@ -439,6 +438,8 @@ func (ctxt *Link) loadlib() {
|
||||
}
|
||||
}
|
||||
|
||||
iscgo = ctxt.Syms.ROLookup("x_cgo_init", 0) != nil
|
||||
|
||||
// We now have enough information to determine the link mode.
|
||||
determineLinkMode(ctxt)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user