From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 6FD35A0613
	for <public@inbox.dpdk.org>; Thu, 29 Aug 2019 17:30:07 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 88D0E1DF96;
	Thu, 29 Aug 2019 17:30:06 +0200 (CEST)
Received: from youngberry.canonical.com (youngberry.canonical.com
 [91.189.89.112]) by dpdk.org (Postfix) with ESMTP id 372691D15E
 for <dev@dpdk.org>; Thu, 29 Aug 2019 17:30:05 +0200 (CEST)
Received: from 2.general.paelzer.uk.vpn ([10.172.196.173]
 helo=localhost.localdomain)
 by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
 (Exim 4.76) (envelope-from <christian.ehrhardt@canonical.com>)
 id 1i3MNA-0003DP-Sq; Thu, 29 Aug 2019 15:30:04 +0000
From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
To: dev <dev@dpdk.org>,
	Kevin Laatz <kevin.laatz@intel.com>
Cc: Luca Boccassi <bluca@debian.org>, Thomas Monjalon <thomas@monjalon.net>,
 Christian Ehrhardt <christian.ehrhardt@canonical.com>
Date: Thu, 29 Aug 2019 17:30:03 +0200
Message-Id: <20190829153003.7974-1-christian.ehrhardt@canonical.com>
X-Mailer: git-send-email 2.23.0
In-Reply-To: <CAATJJ0KUN93UctTPeP_eH-k+UmtZSjqK-NJ9RWQGrtEswq5V2A@mail.gmail.com>
References: <CAATJJ0KUN93UctTPeP_eH-k+UmtZSjqK-NJ9RWQGrtEswq5V2A@mail.gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: [dpdk-dev] [PATCH v2] build: avoid --as-needed as it causes
	overlinking
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

A while ago telemetry was added in 57ae0ec6 and it also added as-needed
to config/meson.build. This seems no more needed these days as due to other
build changes the ordering in buildlogs is:
  [...] -lrte_telemetry [...] -Wl,--no-as-needed [...]
Which means telemetry no more benefits from --no-as-needed anyway.

Overlinking problems get triggered by the meson generated pkgconfig which
will have:
   [...] -Wl,--no-as-needed <somelibsusedbydpdk>
This will overlink <somelibs> and in addition anything that follows
as it also doesn't wrap back to --as-needed. So if a projects includes
dpdk libs + <other> it will also consider <other> with --no-as-needed.

Fixes: https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1841759

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 config/meson.build | 1 -
 1 file changed, 1 deletion(-)

diff --git a/config/meson.build b/config/meson.build
index 2bafea530..a27f731f8 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -94,7 +94,6 @@ dpdk_conf.set('RTE_TOOLCHAIN_' + toolchain.to_upper(), 1)
 dpdk_conf.set('RTE_ARCH_64', cc.sizeof('void *') == 8)
 
 add_project_link_arguments('-Wl,--no-as-needed', language: 'c')
-dpdk_extra_ldflags += '-Wl,--no-as-needed'
 
 # use pthreads
 add_project_link_arguments('-pthread', language: 'c')
-- 
2.23.0