From bf5cf5301ae5914498454c87293d1df2e1d8489f Mon Sep 17 00:00:00 2001 From: Alex Kube Date: Wed, 23 Oct 2019 21:16:32 +0430 Subject: [PATCH 4/9] ld: add soname to shareable objects so that OE's shared library dependency handling can find them. Adapted to Go 1.13 from patches originally submitted to the meta/recipes-devtools/go tree by Matt Madison . Upstream-Status: Inappropriate [OE specific] Signed-off-by: Alexander J Kube --- src/cmd/link/internal/ld/lib.go | 3 +++ 1 file changed, 3 insertions(+) --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -1446,6 +1446,7 @@ func (ctxt *Link) hostlink() { argv = append(argv, "-Wl,-z,relro") } argv = append(argv, "-shared") + argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) if ctxt.HeadType != objabi.Hwindows { // Pass -z nodelete to mark the shared library as // non-closeable: a dlclose will do nothing. @@ -1457,6 +1458,7 @@ func (ctxt *Link) hostlink() { argv = append(argv, "-Wl,-z,relro") } argv = append(argv, "-shared") + argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) case BuildModePlugin: if ctxt.HeadType == objabi.Hdarwin { argv = append(argv, "-dynamiclib") @@ -1465,6 +1467,7 @@ func (ctxt *Link) hostlink() { argv = append(argv, "-Wl,-z,relro") } argv = append(argv, "-shared") + argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) } }