From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EA6CFA0C47; Fri, 11 Jun 2021 12:28:00 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6C4474067C; Fri, 11 Jun 2021 12:28:00 +0200 (CEST) Received: from smail.rz.tu-ilmenau.de (smail.rz.tu-ilmenau.de [141.24.186.67]) by mails.dpdk.org (Postfix) with ESMTP id 0129E4014F; Fri, 11 Jun 2021 12:27:58 +0200 (CEST) Received: from [192.168.1.40] (unknown [77.7.178.89]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smail.rz.tu-ilmenau.de (Postfix) with ESMTPSA id 6038D580233; Fri, 11 Jun 2021 12:27:58 +0200 (CEST) Message-ID: From: Michael Pfeiffer To: Bruce Richardson , David Marchand Cc: Jan Viktorin , Ruifeng Wang , Jerin Jacob , dev , dpdk stable , kosar@rehivetech.com, Phil Yang , Joyce Kong Date: Fri, 11 Jun 2021 12:27:57 +0200 In-Reply-To: References: <20210609101755.20769-1-michael.pfeiffer@tu-ilmenau.de> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.40.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH v5] eal: arm: fix out of tree build X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Hi there, On Fri, 2021-06-11 at 10:59 +0100, Bruce Richardson wrote: > On Fri, Jun 11, 2021 at 11:54:25AM +0200, David Marchand wrote: > > Hello Bruce, > > > > On Wed, Jun 9, 2021 at 12:18 PM Michael Pfeiffer > > wrote: > > > > > > Including various headers may fail for ARM builds with 'Platform must > > > be built with RTE_FORCE_INTRINSICS' if rte_config.h is not included > > > before. Move the error message after the includes to ensure rte_config.h > > > is always included. > > > > > > Fixes: de966ccdcd7f ("eal/arm: add byte order operations for ARM") > > > Fixes: 17d5fa0fa90d ("eal/arm: add atomic operations for ARMv7") > > > Fixes: d708f01b7102 ("eal/arm: add atomic operations for ARMv8") > > > Fixes: 2173f3333b61 ("mcslock: add MCS queued lock implementation") > > > Fixes: 7860c3965483 ("eal/arm: add spinlock operations for ARM") > > > Fixes: ca49b92079df ("ticketlock: enable generic ticketlock on all arch") > > > Cc: stable@dpdk.org > > > Cc: kosar@rehivetech.com > > > Cc: phil.yang@arm.com > > > Cc: joyce.kong@arm.com > > > > > > Signed-off-by: Michael Pfeiffer > > > > The header check currently compiles all headers with an implicit > > "-include rte_config.h". > > I suppose this is because it comes from the project level meson > > configuration. > > > > Would there be a way to detect the issue fixed by this patch? > > > I'm not convinced that there is an issue here. For DPDK compiles > rte_config.h must always be included first, which is why it's included in > the cflags reported by pkg-config. If we do want to move away from having > rte_config as an omnipresent first include, we need to update many DPDK > headers to explicitly include it. the issue came up in our (rather large) DPDK app. Our build process uses a hand-crafted build system (based on ninja) for native and cross builds, i.e. pkg-config is not involved. It basically throws "-isystem /include/dpdk" into the compiler and omits linking some of the DPDK libs not used by us. This worked fine for us, and has no issues for x86 targets. I guess because most headers do include rte_config (or rte_common) at least transitively before doing anything else. Anyway, if you regard "-include rte_config.h" as the way to go, this is fine for me. Its a one-liner for us and we can probably drop the patch then. Regards Michael