From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 0C252E82 for ; Fri, 3 Oct 2014 21:09:00 +0200 (CEST) Received: from [2001:470:8:a08:9833:6894:f2b2:43a] (helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1Xa8KR-0003F7-95; Fri, 03 Oct 2014 15:15:49 -0400 Date: Fri, 3 Oct 2014 15:15:46 -0400 From: Neil Horman To: Matthew Hall Message-ID: <20141003191546.GD24059@hmsreliant.think-freely.org> References: <1412265386-26291-1-git-send-email-sergio.gonzalez.monroy@intel.com> <2041475.WSUx3LgNfR@xps13> <20141003081019.GA28988@sivswdev02.ir.intel.com> <2274825.SfVmqUQfpO@xps13> <20141003113234.GB24059@hmsreliant.think-freely.org> <20141003181713.GC1741@mhcomputing.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141003181713.GC1741@mhcomputing.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH 0/4] Fix build issues with CONFIG_RTE_BUILD_COMBINE_LIBS=y 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, 03 Oct 2014 19:09:00 -0000 On Fri, Oct 03, 2014 at 11:17:13AM -0700, Matthew Hall wrote: > On Fri, Oct 03, 2014 at 07:32:34AM -0400, Neil Horman wrote: > > This makes good sense to me. A single archive is just easier in the static > > case, since the resulting binary will strip out unused code anyway, and multiple > > libraries are needed in the shared case so that we don't wind up having to load > > more code than is needed at run time. > > > > Neil > > This assertion is not true. Because the DPDK doesn't work if you don't specify > the whole-archive link option. Which explicitly prevents stripping out any > "unused code". Otherwise your PMD's will refuse to initialize. > I'm not asserting that you remove the --whole-archive option, only that the we assemble all objects into a single archive during the SDK build. Its just a convienience, because the application binary result will be the same, regardless of weather you link several small archives, or a single large one (because of the aforementioned --whole-archive option). The only remaining issue is events where an application doesn't need (for example) the acl library, or other optional library. With a single archive, you get everything you build even if you don't need it. But presumably if you're building a static binary, you're likely building the dpdk as well and can configure optional libraries out of the build. Separate libraries are more a need for downstream distributors/packagers, who use dynamic shared objects anyway. > This along with backward compatibility is why I was advising to build the full > static library and the sublibraries so it will just work for everybody by > default. > Backward compatibilty? the DPDK doesn't yet provide run time compatibility between releases (something I've been trying to change). Nobody provides compile time compatibility. To do so would require fixing API's permenently. Neil