go/misc/cgo
Cherry Mui 5ef9566694 [release-branch.go1.16] cmd/link: force eager binding when using plugins on darwin
When building/using plugins on darwin, we need to use flat
namespace so the same symbol from the main executable and the
plugin can be resolved to the same address. Apparently, when using
flat namespace the dynamic linker can hang at forkExec when
resolving a lazy binding. Work around it by forcing early bindings.

Updates #38824.
Fixes #50245.

Change-Id: I983aa0a0960b15bf3f7871382e8231ee244655f4
Reviewed-on: https://go-review.googlesource.com/c/go/+/372798
Trust: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
(cherry picked from commit c5fee935bb)
Reviewed-on: https://go-review.googlesource.com/c/go/+/373095
2022-02-07 20:38:28 +00:00
..
errors cmd/go, cmd/cgo: don't let bogus symbol set cgo_ldflag 2020-11-12 20:58:06 +00:00
fortran misc/cgo/fortran: avoid writing to $PWD 2019-11-20 22:37:23 +00:00
gmp all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
life misc: remove use of relative directories in overlayDir functions 2019-11-25 16:26:15 +00:00
nocgo
stdio misc: remove use of relative directories in overlayDir functions 2019-11-25 16:26:15 +00:00
test misc/cgo/test: enable TestCrossPackageTests on darwin/arm64 2020-12-30 22:39:48 +00:00
testasan misc: log 'ok' from 'go run' tests on success 2019-11-25 16:43:27 +00:00
testcarchive [release-branch.go1.16] cmd/link: use SHT_INIT_ARRAY for .init_array section 2022-01-05 18:14:31 +00:00
testcshared cmd/link: avoid exporting all symbols on windows buildmode=pie 2020-11-02 00:46:44 +00:00
testgodefs cmd/cgo: don't translate bitfields into Go fields 2020-09-16 03:02:13 +00:00
testplugin [release-branch.go1.16] cmd/link: force eager binding when using plugins on darwin 2022-02-07 20:38:28 +00:00
testsanitizers cmd/compile, runtime: use __msan_memmove for moving data, split msanread to fields 2020-12-03 15:40:11 +00:00
testshared cmd/link: don't decode type symbol in shared library in deadcode 2021-02-02 16:00:58 +00:00
testsigfwd misc: log 'ok' from 'go run' tests on success 2019-11-25 16:43:27 +00:00
testso all: add GOOS=ios 2020-09-23 18:12:59 +00:00
testsovar all: add GOOS=ios 2020-09-23 18:12:59 +00:00
testtls all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00