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 D7B9D432B0; Mon, 6 Nov 2023 15:23:08 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6B2E040A67; Mon, 6 Nov 2023 15:23:08 +0100 (CET) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by mails.dpdk.org (Postfix) with ESMTP id 6548E4025D; Mon, 6 Nov 2023 15:23:06 +0100 (CET) Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.nyi.internal (Postfix) with ESMTP id 777885C0228; Mon, 6 Nov 2023 09:22:13 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Mon, 06 Nov 2023 09:22:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1699280533; x=1699366933; bh=iW9WDs7M9ZrFaoj7fd0mA0q1nuK4Mkosn6v YOWkKl5Q=; b=q9YmPbWSnYINK/nwr4Ed1R3fFTSgTjcT8/x64HK/uxiR+cuz1/D Dp1tqK3WYxkZrsWavN2cO3rzD4AuBpopibrif3QG/YjgVTv+9Ei0p/vkUZcTUQCM uvUF+4qVniwSewjS+7SWzdy+NEzljjx8AhVkqM/iwzbxfrdOTIiDCnPvFVRetNjy //HWBrpXLxDK5zS3zDucZHHDcW9gOAcUL1NT6QeCS97/8aRw7eL6dfwy+cIyvqqr L+OltYwp78bbeEaEQKdsiRp5lAOd4hW+Yy3bFeYCGf8Rp5lGAFqoKz3jbNjWRbCT 4e+pZGbCF6FCTJyTQz97PwBc1pkHAh7pzqg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1699280533; x=1699366933; bh=iW9WDs7M9ZrFaoj7fd0mA0q1nuK4Mkosn6v YOWkKl5Q=; b=oBU3jqRiRYNpFNC646FKg0yfdANZzyf//LNDjdr3JSM3ludF87N YVbvZxGNyKN1pPeByR0Pgh3B/arjKeQJWyot7f8OBdKshSXI/lxhiPfUr6YixopZ oHb0U0Poogzt7PDlNgkHCPVzmp6hnPNghDHAalSc7sdK/zbfFhtj/TywHYYXu0ia Xj+XR/GlKrgSVQzkX4HeGEe2mb3oanGcMrXRWdTXbjKDdZJcRrZqNqHprLr5JXR1 RaXYzTlKbCNtHVp4Mwpidh5SECiEv2A/ptxzYWi42fZ54oVRFrFzOzRhICGsgiB+ T41SUWXj7zBK7IXtkbRsx8L2lRGDDJT2ihw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedruddugedgieduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufffkjghfggfgtgesthhqredttddtjeenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc ggtffrrghtthgvrhhnpeegtddtleejjeegffekkeektdejvedtheevtdekiedvueeuvdei uddvleevjeeujeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 6 Nov 2023 09:22:11 -0500 (EST) From: Thomas Monjalon To: Juraj =?utf-8?B?TGlua2XFoQ==?= , Honnappa.Nagarahalli@arm.com, Ruifeng.Wang@arm.com, Paul Szczepanek Cc: bruce.richardson@intel.com, dev@dpdk.org, nd@arm.com, stable@dpdk.org Subject: Re: [PATCH v3] config/arm: update aarch32 build with gcc13 Date: Mon, 06 Nov 2023 15:22:10 +0100 Message-ID: <2941509.VdNmn5OnKV@thomas> In-Reply-To: References: <20231009095325.86444-1-juraj.linkes@pantheon.tech> <20231025125714.132793-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" 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 01/11/2023 13:57, Paul Szczepanek: >=20 > On 25/10/2023 13:57, Juraj Linke=C5=A1 wrote: > > The aarch32 with gcc13 fails with: > > > > Compiler for C supports arguments -march=3Darmv8-a: NO > > > > ../config/arm/meson.build:714:12: ERROR: Problem encountered: No > > suitable armv8 march version found. > > > > This is because we test -march=3Darmv8-a alone (without the -mpfu optio= n), > > which is no longer supported in gcc13 aarch32 builds. > > > > The most recent recommendation from the compiler team is to build with > > -march=3Darmv8-a+simd -mfpu=3Dauto, which should work for compilers old= and > > new. The suggestion is to first check -march=3Darmv8-a+simd and only th= en > > check -mfpu=3Dauto. > > > > To address this, add a way to force the architecture (the value of > > the -march option). > > > > Signed-off-by: Juraj Linke=C5=A1 > > --- > > config/arm/meson.build | 40 +++++++++++++++++++++++----------------- > > 1 file changed, 23 insertions(+), 17 deletions(-) > > > > diff --git a/config/arm/meson.build b/config/arm/meson.build > > index 3f22d8a2fc..c3f763764a 100644 > > --- a/config/arm/meson.build > > +++ b/config/arm/meson.build > > @@ -43,7 +43,9 @@ implementer_generic =3D { > > }, > > 'generic_aarch32': { > > 'march': 'armv8-a', > > - 'compiler_options': ['-mfpu=3Dneon'], > > + 'force_march': true, > > + 'march_features': ['simd'], > > + 'compiler_options': ['-mfpu=3Dauto'], > > 'flags': [ > > ['RTE_ARCH_ARM_NEON_MEMCPY', false], > > ['RTE_ARCH_STRICT_ALIGN', true], > > @@ -695,21 +697,25 @@ if update_flags > > # probe supported archs and their features > > candidate_march =3D '' > > if part_number_config.has_key('march') > > - supported_marchs =3D ['armv8.6-a', 'armv8.5-a', 'armv8.4-a', '= armv8.3-a', > > - 'armv8.2-a', 'armv8.1-a', 'armv8-a'] > > - check_compiler_support =3D false > > - foreach supported_march: supported_marchs > > - if supported_march =3D=3D part_number_config['march'] > > - # start checking from this version downwards > > - check_compiler_support =3D true > > - endif > > - if (check_compiler_support and > > - cc.has_argument('-march=3D' + supported_march)) > > - candidate_march =3D supported_march > > - # highest supported march version found > > - break > > - endif > > - endforeach > > + if part_number_config.get('force_march', false) > > + candidate_march =3D part_number_config['march'] > > + else > > + supported_marchs =3D ['armv8.6-a', 'armv8.5-a', 'armv8.4-a= ', 'armv8.3-a', > > + 'armv8.2-a', 'armv8.1-a', 'armv8-a'] > > + check_compiler_support =3D false > > + foreach supported_march: supported_marchs > > + if supported_march =3D=3D part_number_config['march'] > > + # start checking from this version downwards > > + check_compiler_support =3D true > > + endif > > + if (check_compiler_support and > > + cc.has_argument('-march=3D' + supported_march)) > > + candidate_march =3D supported_march > > + # highest supported march version found > > + break > > + endif > > + endforeach > > + endif > > if candidate_march =3D=3D '' > > error('No suitable armv8 march version found.') > > endif > > @@ -741,7 +747,7 @@ if update_flags > > # apply supported compiler options > > if part_number_config.has_key('compiler_options') > > foreach flag: part_number_config['compiler_options'] > > - if cc.has_argument(flag) > > + if cc.has_multi_arguments(machine_args + [flag]) > > machine_args +=3D flag > > else > > warning('Configuration compiler option ' + >=20 >=20 > Reviewed-by: Paul Szczepanek >=20 >=20 Applied with Cc: stable@dpdk.org, thanks.