From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: [PATCH v2 4/6] mk: prevent overlinking in applications Date: Fri, 10 Jun 2016 15:19:07 +0200 Message-ID: <1465564749-1405-5-git-send-email-thomas.monjalon@6wind.com> References: <1464367686-3475-1-git-send-email-ferruh.yigit@intel.com> <1465564749-1405-1-git-send-email-thomas.monjalon@6wind.com> Cc: dev@dpdk.org To: Ferruh Yigit Return-path: Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by dpdk.org (Postfix) with ESMTP id 3D7CD2BBC for ; Fri, 10 Jun 2016 15:19:22 +0200 (CEST) Received: by mail-wm0-f50.google.com with SMTP id k184so3002242wme.1 for ; Fri, 10 Jun 2016 06:19:22 -0700 (PDT) In-Reply-To: <1465564749-1405-1-git-send-email-thomas.monjalon@6wind.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Ferruh Yigit Replace --no-as-needed linker flag with --as-needed flag, which will only link libraries directly called by application. It can be achieved now that the libraries dependencies are handled properly. Signed-off-by: Ferruh Yigit Signed-off-by: Thomas Monjalon --- v2: remove workarounds and workaround comment --- mk/exec-env/linuxapp/rte.vars.mk | 3 --- mk/rte.app.mk | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mk/exec-env/linuxapp/rte.vars.mk b/mk/exec-env/linuxapp/rte.vars.mk index d51bd17..a8a1ee4 100644 --- a/mk/exec-env/linuxapp/rte.vars.mk +++ b/mk/exec-env/linuxapp/rte.vars.mk @@ -45,9 +45,6 @@ else EXECENV_CFLAGS = -pthread endif -# Workaround lack of DT_NEEDED entry -EXECENV_LDFLAGS = --no-as-needed - EXECENV_LDLIBS = EXECENV_ASFLAGS = diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 9306b30..d01a79f 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -50,6 +50,9 @@ ifeq ($(NO_LDSCRIPT),) LDSCRIPT = $(RTE_LDSCRIPT) endif +# Link only the libraries used in the application +LDFLAGS += --as-needed + # default path for libs _LDLIBS-y += -L$(RTE_SDK_BIN)/lib -- 2.7.0