blob: b70063491046cdb82c638b804f0f70a1e3b82345 [file] [log] [blame]
Patrick Williams92b42cb2022-09-03 06:53:57 -05001From 68867eae5d3a51f32b2a2e16374323338408781e Mon Sep 17 00:00:00 2001
Andrew Geissler82c905d2020-04-13 13:39:40 -05002From: Alex Kube <alexander.j.kube@gmail.com>
3Date: Wed, 23 Oct 2019 21:16:32 +0430
Patrick Williams92b42cb2022-09-03 06:53:57 -05004Subject: [PATCH] ld: add soname to shareable objects
Andrew Geissler82c905d2020-04-13 13:39:40 -05005
6so that OE's shared library dependency handling
7can find them.
8
9Adapted to Go 1.13 from patches originally submitted to
10the meta/recipes-devtools/go tree by
11Matt Madison <matt@madison.systems>.
12
13Upstream-Status: Inappropriate [OE specific]
14
15Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
Patrick Williams92b42cb2022-09-03 06:53:57 -050016
Andrew Geissler82c905d2020-04-13 13:39:40 -050017---
18 src/cmd/link/internal/ld/lib.go | 3 +++
19 1 file changed, 3 insertions(+)
20
Patrick Williams92b42cb2022-09-03 06:53:57 -050021diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
22index 18910dd..b2e1d36 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -050023--- a/src/cmd/link/internal/ld/lib.go
24+++ b/src/cmd/link/internal/ld/lib.go
Patrick Williams92b42cb2022-09-03 06:53:57 -050025@@ -1459,6 +1459,7 @@ func (ctxt *Link) hostlink() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050026 argv = append(argv, "-Wl,-z,relro")
27 }
28 argv = append(argv, "-shared")
29+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
Andrew Geissler90fd73c2021-03-05 15:25:55 -060030 if ctxt.HeadType == objabi.Hwindows {
Patrick Williams92b42cb2022-09-03 06:53:57 -050031 argv = addASLRargs(argv, *flagAslr)
32 } else {
33@@ -1474,6 +1475,7 @@ func (ctxt *Link) hostlink() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050034 argv = append(argv, "-Wl,-z,relro")
35 }
36 argv = append(argv, "-shared")
37+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
38 case BuildModePlugin:
39 if ctxt.HeadType == objabi.Hdarwin {
40 argv = append(argv, "-dynamiclib")
Patrick Williams92b42cb2022-09-03 06:53:57 -050041@@ -1482,6 +1484,7 @@ func (ctxt *Link) hostlink() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050042 argv = append(argv, "-Wl,-z,relro")
43 }
44 argv = append(argv, "-shared")
45+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
46 }
47 }
48