mirror of
https://github.com/golang/go
synced 2024-10-04 15:09:59 +00:00
cmd/link: suppress -bind_at_load deprecation warning for ld-prime
ld-prime emits a deprecation warning for -bind_at_load. The flag is needed for plugins to not deadlock (#38824) when linking with older darwin linker. It is supposedly not needed with newer linker when chained fixups are used. For now, we always pass it, and suppress the warning. For #61229. Change-Id: I4b8a6f864a460c40dc38adbb533f664f7fd5343c Reviewed-on: https://go-review.googlesource.com/c/go/+/508696 Reviewed-by: Than McIntosh <thanm@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Cherry Mui <cherryyz@google.com>
This commit is contained in:
parent
91bea5a21d
commit
040dbf9c18
|
@ -1903,6 +1903,16 @@ func (ctxt *Link) hostlink() {
|
|||
out = append(out[:i], out[i+len(noPieWarning):]...)
|
||||
}
|
||||
}
|
||||
if ctxt.IsDarwin() {
|
||||
const bindAtLoadWarning = "ld: warning: -bind_at_load is deprecated on macOS\n"
|
||||
if i := bytes.Index(out, []byte(bindAtLoadWarning)); i >= 0 {
|
||||
// -bind_at_load is deprecated with ld-prime, but needed for
|
||||
// correctness with older versions of ld64. Swallow the warning.
|
||||
// TODO: maybe pass -bind_at_load conditionally based on C
|
||||
// linker version.
|
||||
out = append(out[:i], out[i+len(bindAtLoadWarning):]...)
|
||||
}
|
||||
}
|
||||
ctxt.Logf("%s", out)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue