blob: 004a33a0239677387540bfeeb921d0fc34f452f1 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001From 55eb8c95a89f32aec16b7764e78e8cf75169dc81 Mon Sep 17 00:00:00 2001
2From: Matt Madison <matt@madison.systems>
3Date: Sat, 17 Feb 2018 06:26:10 -0800
4Subject: [PATCH] ld: add soname to shareable objects
5
6so that OE's shared library dependency handling
7can find them.
8
9Upstream-Status: Inappropriate [OE specific]
10
11Signed-off-by: Matt Madison <matt@madison.systems>
12
13---
14 src/cmd/link/internal/ld/lib.go | 4 ++++
15 1 file changed, 4 insertions(+)
16
17diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
18index 220aab3..703925f 100644
19--- a/src/cmd/link/internal/ld/lib.go
20+++ b/src/cmd/link/internal/ld/lib.go
21@@ -1135,6 +1135,7 @@ func (ctxt *Link) hostlink() {
22 argv = append(argv, "-Wl,-z,relro")
23 }
24 argv = append(argv, "-shared")
25+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
26 if ctxt.HeadType != objabi.Hwindows {
27 // Pass -z nodelete to mark the shared library as
28 // non-closeable: a dlclose will do nothing.
29@@ -1146,6 +1147,8 @@ func (ctxt *Link) hostlink() {
30 argv = append(argv, "-Wl,-z,relro")
31 }
32 argv = append(argv, "-shared")
33+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
34+
35 case BuildModePlugin:
36 if ctxt.HeadType == objabi.Hdarwin {
37 argv = append(argv, "-dynamiclib")
38@@ -1154,6 +1157,7 @@ func (ctxt *Link) hostlink() {
39 argv = append(argv, "-Wl,-z,relro")
40 }
41 argv = append(argv, "-shared")
42+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
43 }
44 }
45