From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 329A5A328D for ; Tue, 22 Oct 2019 14:48:21 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EE2CB1BED7; Tue, 22 Oct 2019 14:48:19 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 89C541BED5 for ; Tue, 22 Oct 2019 14:48:18 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Oct 2019 05:48:17 -0700 X-IronPort-AV: E=Sophos;i="5.67,327,1566889200"; d="scan'208";a="191450370" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.95]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 22 Oct 2019 05:48:15 -0700 Date: Tue, 22 Oct 2019 13:48:12 +0100 From: Bruce Richardson To: Andrzej Ostruszka Cc: dev@dpdk.org, mattias.ronnblom@ericsson.com, stephen@networkplumber.org Message-ID: <20191022124812.GC955@bricha3-MOBL.ger.corp.intel.com> References: <20190917075754.8310-1-amo@semihalf.com> <20191022115412.8837-1-aostruszka@marvell.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191022115412.8837-1-aostruszka@marvell.com> User-Agent: Mutt/1.12.1 (2019-06-15) Subject: Re: [dpdk-dev] [PATCH v4 00/10] Add an option to use LTO for DPDK build X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, Oct 22, 2019 at 01:54:02PM +0200, Andrzej Ostruszka wrote: > This patch series adds an option to make use of link time optimization > (if compiler has support for it). It is split as follows: > - 1st patch (build) is the enablement > - remaining patches are fixes for the warnings produced by the compiler > and they are split by directory/subsystem so their maintainers can > easily find and verify the changes - please note that there are two > groups: > * errors (or possible errors) - with title "fix possible use ..." > * false positives - warnings that _I_ think are not valid and the > changes are made only to silence the compiler. > > v4 Changes: > ----------- > - merge nested conditionals in config/meson.build into one > > v3 Changes: > ----------- > - removed support for clang (only gcc and icc remain): > - it turned out that 'fat-lto-objects' is not really supported - it is > accepted as a flag but ignored e.g. clang v6.0: > clang: error: optimization flag '-ffat-lto-objects' is not supported > [-Werror,-Wignored-optimization-argument] > this was probably masked previously by playing around with meson and > testing for the availability of this flag and dropping LTO if not > supported. > - improved commit messages: > - added 'Fixes' tags where appropriate > - included snippets of compiler warnings > - changed commit names for the commits cleaning up 'false positive' > compiler warnings - these are not really 'fixes' for the code, just > workarounds for compiler shortcomings and check-git-log.sh was > complaining about missing 'Fixes' tag. > > v2 Changes: > ----------- > - fixed building of shared libraries: > - gcc does not scan top level assembler statements so it missed that > function implementations for specific versions were being used and > was removing them > - fixed meson.build config files: > - moved from 'enable_lto' project option to built-in 'b_lto' > - documented that 'default_library' should be 'shared': > with 'default_library=static' (the default) the meson build with LTO > is broken - this is because, SHARED_LIB is fixed in rte_config.h > used by meson which leads to no alias for default version in > generated static libraries (MAP_STATIC_SYMBOL() is empty) > - app/test: added log for failed bonding "config get" > > Andrzej Ostruszka (10): > build: add an option to enable LTO build > eventdev: fix possible use of uninitialized var > app/eventdev: clean LTO build warnings (maybe-uninitialized) > event/octeontx2: clean LTO build warnings (maybe-uninitialized) > app/test: clean LTO build warnings (maybe-uninitialized) > net/dpaa2: fix possible use of uninitialized vars > net/e1000: clean LTO build warnings (maybe-uninitialized) > net/i40e: clean LTO build warnings (maybe-uninitialized) > net/ifc: clean LTO build warnings (maybe-uninitialized) > net/qede: clean LTO build warnings (maybe-uninitialized) > Does this have a dependency on set 6726 [1] ? Otherwise, this looks something useful to have support for in DPDK, so Series-acked-by: Bruce Richardson [1] http://patches.dpdk.org/project/dpdk/list/?series=6726