All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergio Gonzalez Monroy <sergio.gonzalez.monroy-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: dev-VfR2kkLFssw@public.gmane.org
Subject: [PATCH 2/3] mk: use LDLIBS when linking shared libraries
Date: Wed, 15 Apr 2015 10:30:29 +0100	[thread overview]
Message-ID: <1429090230-25137-3-git-send-email-sergio.gonzalez.monroy@intel.com> (raw)
In-Reply-To: <1429090230-25137-1-git-send-email-sergio.gonzalez.monroy-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Set proper DT_NEEDED entries for shared libraries by explicitly
linking against its dependent libraries (LDLIBS).

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
 mk/rte.lib.mk | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 0d7482d..5d0988f 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -62,10 +62,13 @@ build: _postbuild
 
 exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
 
+_LDLIBS := --as-needed $(LDLIBS) $(EXECENV_LDLIBS) --no-as-needed
+
 ifeq ($(LINK_USING_CC),1)
 # Override the definition of LD here, since we're linking with CC
 LD := $(CC) $(CPU_CFLAGS)
 _CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS))
+_LDLIBS := $(call linkerprefix,$(_LDLIBS))
 else
 _CPU_LDFLAGS := $(CPU_LDFLAGS)
 endif
@@ -79,7 +82,8 @@ O_TO_A_DO = @set -e; \
 	$(O_TO_A) && \
 	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
 
-O_TO_S = $(LD) $(_CPU_LDFLAGS) -shared $(OBJS-y) -Wl,-soname,$(LIB) -o $(LIB)
+O_TO_S = $(LD) $(_CPU_LDFLAGS) -L $(RTE_OUTPUT)/lib -Wl,-soname,$(LIB) \
+		 -shared $(OBJS-y) $(_LDLIBS) -o $(LIB)
 O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
 O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
 O_TO_S_DO = @set -e; \
-- 
1.9.3

  parent reply	other threads:[~2015-04-15  9:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-15  9:30 [PATCH 0/3] Add DT_NEEDED entries to shared libs Sergio Gonzalez Monroy
     [not found] ` <1429090230-25137-1-git-send-email-sergio.gonzalez.monroy-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-04-15  9:30   ` [PATCH 1/3] lib: set LDLIBS for each library Sergio Gonzalez Monroy
     [not found]     ` <1429090230-25137-2-git-send-email-sergio.gonzalez.monroy-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-04  7:55       ` Olivier MATZ
     [not found]         ` <554725E5.7080506-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2015-05-05  9:21           ` Gonzalez Monroy, Sergio
     [not found]             ` <55488B99.3090307-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-05-05 11:22               ` Olivier MATZ
2015-04-15  9:30   ` Sergio Gonzalez Monroy [this message]
2015-04-15  9:30   ` [PATCH 3/3] mk: update app linking flags against shared libs Sergio Gonzalez Monroy
     [not found]     ` <1429090230-25137-4-git-send-email-sergio.gonzalez.monroy-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-04-15 14:17       ` Gonzalez Monroy, Sergio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1429090230-25137-3-git-send-email-sergio.gonzalez.monroy@intel.com \
    --to=sergio.gonzalez.monroy-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.