aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link/internal/ld/testdata
diff options
context:
space:
mode:
authorJoel Sing <joel@sing.id.au>2020-11-12 04:30:15 +1100
committerJoel Sing <joel@sing.id.au>2020-11-16 18:39:54 +0000
commit38367d098ed4d97539de5e43e03bce985fc56d8e (patch)
treee91934e74acc289bd4f088cff319e5a688850d70 /src/cmd/link/internal/ld/testdata
parentd834ecec8637e3d54b67debf95ceb649cc0b4e1d (diff)
downloadgo-38367d098ed4d97539de5e43e03bce985fc56d8e.tar.xz
cmd/link/internal/ld: dedup shared libraries on openbsd
When linking internally on OpenBSD, dedup libraries treating versioned and unversioned libraries as equivalents. Versioned libraries are preferred and are retained over unversioned libraries. This avoids the situation where the use of cgo results in a DT_NEEDED for a versioned library (for example, libc.so.96.1), while a dynamic import specifies an unversioned library (for example, libc.so). Without deduplication this would result in two DT_NEEDED entries, causing a failure when ld.so attempts to load the Go binrary. Updates #36435 Fixes #39257 Change-Id: I4a4942f259dece01d97bb51df9e13d67c9f94d34 Reviewed-on: https://go-review.googlesource.com/c/go/+/249978 Trust: Joel Sing <joel@sing.id.au> Run-TryBot: Joel Sing <joel@sing.id.au> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/link/internal/ld/testdata')
-rw-r--r--src/cmd/link/internal/ld/testdata/issue39256/x.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cmd/link/internal/ld/testdata/issue39256/x.go b/src/cmd/link/internal/ld/testdata/issue39256/x.go
index d8562ad172..97bc1cc407 100644
--- a/src/cmd/link/internal/ld/testdata/issue39256/x.go
+++ b/src/cmd/link/internal/ld/testdata/issue39256/x.go
@@ -13,6 +13,8 @@ import (
//go:cgo_import_dynamic libc_close close "libc.so"
//go:cgo_import_dynamic libc_open open "libc.so"
+//go:cgo_import_dynamic _ _ "libc.so"
+
func trampoline()
func main() {