aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link/internal/ld/lib.go
diff options
context:
space:
mode:
authorCherry Mui <cherryyz@google.com>2022-02-11 14:58:56 +0000
committerCherry Mui <cherryyz@google.com>2022-02-11 14:58:56 +0000
commite90b835f3071f1eb71810a3631b792f23df59f24 (patch)
treedc5a1c1620f14dbc051402095af9c024bc12a202 /src/cmd/link/internal/ld/lib.go
parentbb93480d009322886df6f5185c988d6d21fdc2c8 (diff)
parent0a6cf8706fdd0fe1bd26e4d1ecbcd41650bf5e6c (diff)
downloadgo-e90b835f3071f1eb71810a3631b792f23df59f24.tar.gz
go-e90b835f3071f1eb71810a3631b792f23df59f24.zip
[dev.boringcrypto.go1.16] all: merge go1.16.14 into dev.boringcrypto.go1.16
Change-Id: I186a567b3e76df7ecf1842634a3851eab7c9dfce
Diffstat (limited to 'src/cmd/link/internal/ld/lib.go')
-rw-r--r--src/cmd/link/internal/ld/lib.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index f7a32aebae..81efc8f4a0 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -1270,7 +1270,10 @@ func (ctxt *Link) hostlink() {
if ctxt.DynlinkingGo() && objabi.GOOS != "ios" {
// -flat_namespace is deprecated on iOS.
// It is useful for supporting plugins. We don't support plugins on iOS.
- argv = append(argv, "-Wl,-flat_namespace")
+ // -flat_namespace may cause the dynamic linker to hang at forkExec when
+ // resolving a lazy binding. See issue 38824.
+ // Force eager resolution to work around.
+ argv = append(argv, "-Wl,-flat_namespace", "-Wl,-bind_at_load")
}
if !combineDwarf {
argv = append(argv, "-Wl,-S") // suppress STAB (symbolic debugging) symbols