From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2 6/6] mk: reduce scope of whole-archive static linking Date: Fri, 10 Jun 2016 17:18:24 +0200 Message-ID: <4132294.2uBzABCNq8@xps13> References: <1464367686-3475-1-git-send-email-ferruh.yigit@intel.com> <1465564749-1405-7-git-send-email-thomas.monjalon@6wind.com> <575AD6DE.9080907@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Ferruh Yigit Return-path: Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by dpdk.org (Postfix) with ESMTP id 21864214A for ; Fri, 10 Jun 2016 17:18:26 +0200 (CEST) Received: by mail-wm0-f42.google.com with SMTP id v199so153148841wmv.0 for ; Fri, 10 Jun 2016 08:18:26 -0700 (PDT) In-Reply-To: <575AD6DE.9080907@intel.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" 2016-06-10 16:03, Ferruh Yigit: > On 6/10/2016 2:19 PM, Thomas Monjalon wrote: > > From: Ferruh Yigit > > > > The --whole-archive argument is only required for plugins (drivers) > > and libraries used by these plugins. > > Currently it covers all libraries. > > Reducing the scope of this argument slightly reduce final application size > > when statically linked. > > > > Signed-off-by: Ferruh Yigit > > Signed-off-by: Thomas Monjalon > > --- > > Technically the scope of --whole-archive should be PMDs, wider scope > required because of unresolved references, but I think this is not good > workaround. > > If libraries ordered as suggested before: pmd->librte->external, won't > need to extend scope of parameter > > Still some applications will have problem for now, because of cyclic > dependency of librte_eal and librte_mempool, which seems targeted to fix. > > So, instead of adding --whole-archive as workaround that efffects whole > binaries, I am for adding workaround for effected application. I would prefer keeping a small workaround in rte.app.mk instead of in the application makefile. We must be careful with applications which may break because of our changes. This is the kind of issue that they won't fix quickly. > The be effected this problem, an application should have direct calls to > librte_eal, but shouldn't have any calls to librte_mempool, I think this > rare case, that is why only a unit test application effected. And when > dependency issue removed we can fix this. > > To be able to apply workaround per application, LDFLAGS should be set in > a way to commented previous patch.