From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 5E29D2BA8 for ; Fri, 1 Jul 2016 12:27:43 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 01 Jul 2016 03:27:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,556,1459839600"; d="scan'208";a="986995807" Received: from smonroyx-mobl.ger.corp.intel.com (HELO [10.237.221.10]) ([10.237.221.10]) by orsmga001.jf.intel.com with ESMTP; 01 Jul 2016 03:27:42 -0700 To: Thomas Monjalon References: <1467285021-103920-1-git-send-email-sergio.gonzalez.monroy@intel.com> <1872534.DI0OsGElcv@xps13> <71ededc3-4724-5f16-67a3-c9554543f256@intel.com> <2311852.Z0M9311phZ@xps13> Cc: dev@dpdk.org, konstantin.ananyev@intel.com From: Sergio Gonzalez Monroy Message-ID: <0efaddba-b8cc-aef8-9f36-dcd792ccddcd@intel.com> Date: Fri, 1 Jul 2016 11:27:40 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <2311852.Z0M9311phZ@xps13> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2] mk: fix acl library static linking X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2016 10:27:43 -0000 On 01/07/2016 11:05, Thomas Monjalon wrote: > 2016-07-01 09:05, Sergio Gonzalez Monroy: >> On 30/06/2016 17:22, Thomas Monjalon wrote: >>> 2016-06-30 17:14, Sergio Gonzalez Monroy: >>>> On 30/06/2016 17:10, Thomas Monjalon wrote: >>>>> 2016-06-30 17:01, Sergio Gonzalez Monroy: >>>>>> --- a/mk/rte.app.mk >>>>>> +++ b/mk/rte.app.mk >>>>>> @@ -76,12 +76,13 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += -lrte_ip_frag >>>>>> _LDLIBS-$(CONFIG_RTE_LIBRTE_METER) += -lrte_meter >>>>>> _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrte_sched >>>>>> _LDLIBS-$(CONFIG_RTE_LIBRTE_LPM) += -lrte_lpm >>>>>> -_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl >>>>>> _LDLIBS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += -lrte_jobstats >>>>>> _LDLIBS-$(CONFIG_RTE_LIBRTE_POWER) += -lrte_power >>>>>> >>>>>> _LDLIBS-y += --whole-archive >>>>>> >>>>>> +# librte_acl needs --whole-archive because of weak functions >>>>>> +_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl >>>>>> _LDLIBS-$(CONFIG_RTE_LIBRTE_TIMER) += -lrte_timer >>>>>> _LDLIBS-$(CONFIG_RTE_LIBRTE_HASH) += -lrte_hash >>>>>> _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lrte_vhost >>>>> I was suggesting to keep -lrte_acl at the same place in the group of >>>>> algorithms libraries, in order to keep an order satisfying this comment: >>>>> # Order is important: from higher level to lower level >>>>> >>>>> But I have not tested if --whole-archive -lrte_acl --no-whole-archive works. >>>>> >>>> Sorry, I missed that. >>>> >>>> Why is important being before jobstats and power? >>> It is not. >>> But I think we need to have some groups. >>> And ACL is probably at the same layer level as lpm, sched, etc. >> I guess I just don't see the groups you are mentioning :) > I define groups as separated by blank line :) > >> How are timer, hash and vhost in the same group? > It is far from perfect and subject to improvements :) > >> Wouldn't hash be in the same group as acl and lpm? > It makes sense to use hash in drivers (example: enic). You have not convinced me, but I'm not going to argue more over this. You would just prefer to do the following, right? +_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += --whole-archive _LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl +_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += --no-whole-archive