]> Cypherpunks repositories - gostls13.git/commit
cmd/link: handle dynamic import variables on Darwin in plugin mode
authorCherry Mui <cherryyz@google.com>
Mon, 17 Jun 2024 18:44:42 +0000 (14:44 -0400)
committerCherry Mui <cherryyz@google.com>
Sat, 22 Jun 2024 00:00:33 +0000 (00:00 +0000)
commit44f18706661db8b865719d15a5cfa0515d1a4fca
tree8ec9f9355501fafe96ab51f91ecc941c129088af
parent0af2148fdcd047e5aa15776a54ccc29d9aa36f7f
cmd/link: handle dynamic import variables on Darwin in plugin mode

CL 501855 added support for cgo_dynamic_import variables on Darwin.
But it didn't support the plugin build mode on amd64, where the
assembler turns a direct load (R_PCREL) to a load via GOT
(R_GOTPCREL). This CL adds the support. We just need to handle
external linking mode, as this can only occur in plugin or shared
build mode, which requires external linking.

Fixes #67976.
Updates #50891.

Change-Id: I0f56265d50bfcb36047fa5538ad7a5ec77e7ef96
Reviewed-on: https://go-review.googlesource.com/c/go/+/592499
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
src/cmd/cgo/internal/testplugin/plugin_test.go
src/cmd/cgo/internal/testplugin/testdata/issue67976/plugin.go [new file with mode: 0644]
src/cmd/link/internal/amd64/asm.go