1*4882a593SmuzhiyunFrom bf5cf5301ae5914498454c87293d1df2e1d8489f Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Alex Kube <alexander.j.kube@gmail.com> 3*4882a593SmuzhiyunDate: Wed, 23 Oct 2019 21:16:32 +0430 4*4882a593SmuzhiyunSubject: [PATCH 4/9] ld: add soname to shareable objects 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunso that OE's shared library dependency handling 7*4882a593Smuzhiyuncan find them. 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunAdapted to Go 1.13 from patches originally submitted to 10*4882a593Smuzhiyunthe meta/recipes-devtools/go tree by 11*4882a593SmuzhiyunMatt Madison <matt@madison.systems>. 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunUpstream-Status: Inappropriate [OE specific] 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunSigned-off-by: Alexander J Kube <alexander.j.kube@gmail.com> 16*4882a593Smuzhiyun--- 17*4882a593Smuzhiyun src/cmd/link/internal/ld/lib.go | 3 +++ 18*4882a593Smuzhiyun 1 file changed, 3 insertions(+) 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun--- a/src/cmd/link/internal/ld/lib.go 21*4882a593Smuzhiyun+++ b/src/cmd/link/internal/ld/lib.go 22*4882a593Smuzhiyun@@ -1343,6 +1343,7 @@ func (ctxt *Link) hostlink() { 23*4882a593Smuzhiyun argv = append(argv, "-Wl,-z,relro") 24*4882a593Smuzhiyun } 25*4882a593Smuzhiyun argv = append(argv, "-shared") 26*4882a593Smuzhiyun+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) 27*4882a593Smuzhiyun if ctxt.HeadType == objabi.Hwindows { 28*4882a593Smuzhiyun if *flagAslr { 29*4882a593Smuzhiyun argv = addASLRargs(argv) 30*4882a593Smuzhiyun@@ -1358,6 +1359,7 @@ func (ctxt *Link) hostlink() { 31*4882a593Smuzhiyun argv = append(argv, "-Wl,-z,relro") 32*4882a593Smuzhiyun } 33*4882a593Smuzhiyun argv = append(argv, "-shared") 34*4882a593Smuzhiyun+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) 35*4882a593Smuzhiyun case BuildModePlugin: 36*4882a593Smuzhiyun if ctxt.HeadType == objabi.Hdarwin { 37*4882a593Smuzhiyun argv = append(argv, "-dynamiclib") 38*4882a593Smuzhiyun@@ -1366,6 +1368,7 @@ func (ctxt *Link) hostlink() { 39*4882a593Smuzhiyun argv = append(argv, "-Wl,-z,relro") 40*4882a593Smuzhiyun } 41*4882a593Smuzhiyun argv = append(argv, "-shared") 42*4882a593Smuzhiyun+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) 43*4882a593Smuzhiyun } 44*4882a593Smuzhiyun } 45*4882a593Smuzhiyun 46