From patchwork Mon Oct 9 09:53:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 132420 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 013DB4233B; Mon, 9 Oct 2023 11:53:30 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E287840282; Mon, 9 Oct 2023 11:53:29 +0200 (CEST) Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by mails.dpdk.org (Postfix) with ESMTP id 80EA34026B for ; Mon, 9 Oct 2023 11:53:28 +0200 (CEST) Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-534659061afso7153328a12.3 for ; Mon, 09 Oct 2023 02:53:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; s=google; t=1696845208; x=1697450008; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=koex+EQJR0jDvRrjBmi2CbRHSc7LPAMeos8pcYLZiXo=; b=WU6Hn4Jw3Rr1BTxDmJxB5QsO29sKR0BJ0yibnt1nv5DoDEv9YEszgfBzFIAEpQ8qJY y1UPJ8pfNpZ6+I4db2igfstje3AIeqGEJE/qRl1dNYB23RngNMjAAcGO6F327RQj61Mb oZN7gxK7cgBN+MkyamL+oBKXYopP76mOU/hEs6yU0Oga6JGBRvyiQqdmcccBqt3xtSq1 HIez3Ra+7Xm3ixk980SvPokbwKGNLnyYe1iugP0syCDVezLcALlzDHSz1xN+3jfN4eS3 4/ZF8ogY69Qz6wOrJ4qCaC96WiE41hG62btAqcQFNm2+DYX1+XswmLvAymszZsoDlQO+ 9LRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696845208; x=1697450008; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=koex+EQJR0jDvRrjBmi2CbRHSc7LPAMeos8pcYLZiXo=; b=wjh73mYw6NULsiP3Lpjfgo30y5+95Zs3ywvbsPQ6QCgCTnqIMu7s/Ia5kaOqrlygCh TPNluoBEghcLdJS69aRAjBr75yY8ghggggbKsaBmlF9RFwUg3hbT2Dn/4s6FOf0+udgS Zls+X2bAIetODJ/BBwxKnMamRe+NrJBeTKERtgsnPaMR2byEREo7A85xensbrlbTuD32 aSw/0GKNIP1pzu+sCUjQpvpnaM2Gt82fE45GDsGcJWWn6HKMJRcb4aX3Nyptszi1LEYp 55wLQAlscC/PXcznHNDJfjMvgAb/qnnX28HwJK4vL1fFnzZaeeBsoyoFHsl4SQZPgoXM BLLA== X-Gm-Message-State: AOJu0Yw37nc1ZrEF6/WNcr4hneLOTpCqa1ryoI+cnBDuFHMC7lNImiqn 2/FiLBH52XgDN1izCNZqQALcDA== X-Google-Smtp-Source: AGHT+IEOkdz+7sbtx/wG0s5hSb0Wmbq/KdmSvDKMWY2CF7683+SklHbuiEE3xSYvyw4d/ihHlmU2xQ== X-Received: by 2002:a17:906:105e:b0:9ae:654d:5105 with SMTP id j30-20020a170906105e00b009ae654d5105mr15347250ejj.47.1696845207747; Mon, 09 Oct 2023 02:53:27 -0700 (PDT) Received: from jlinkes-PT-Latitude-5530.. (ip-46.34.235.150.o2inet.sk. [46.34.235.150]) by smtp.gmail.com with ESMTPSA id p26-20020a1709060dda00b009b2cc87b8c3sm6477047eji.52.2023.10.09.02.53.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Oct 2023 02:53:27 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, bruce.richardson@intel.com, Ruifeng.Wang@arm.com Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Subject: [PATCH v2] config/arm: update aarch32 build with gcc13 Date: Mon, 9 Oct 2023 11:53:25 +0200 Message-Id: <20231009095325.86444-1-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230921095916.344076-1-juraj.linkes@pantheon.tech> References: <20230921095916.344076-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 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 The aarch32 with gcc13 fails with: Compiler for C supports arguments -march=armv8-a: NO ../config/arm/meson.build:714:12: ERROR: Problem encountered: No suitable armv8 march version found. This is because we test -march=armv8-a alone (without the -mpfu option), which is no longer supported in gcc13 aarch32 builds. The most recent recommendation from the compiler team is to build with -march=armv8-a+simd -mfpu=auto, which should work for compilers old and new. The suggestion is to first check -march=armv8-a+simd and only then check -mfpu=auto. To address this, add a way to force the architecture (the value of the -march option). Signed-off-by: Juraj Linkeš Acked-by: Ruifeng Wang --- config/arm/meson.build | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/config/arm/meson.build b/config/arm/meson.build index 3f22d8a2fc..5303d0e969 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -43,7 +43,9 @@ implementer_generic = { }, 'generic_aarch32': { 'march': 'armv8-a', - 'compiler_options': ['-mfpu=neon'], + 'force_march': true, + 'march_features': ['simd'], + 'compiler_options': ['-mfpu=auto'], 'flags': [ ['RTE_ARCH_ARM_NEON_MEMCPY', false], ['RTE_ARCH_STRICT_ALIGN', true], @@ -711,7 +713,11 @@ if update_flags endif endforeach if candidate_march == '' - error('No suitable armv8 march version found.') + if part_number_config.get('force_march', false) + candidate_march = part_number_config['march'] + else + error('No suitable armv8 march version found.') + endif endif if candidate_march != part_number_config['march'] warning('Configuration march version is ' + @@ -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 += flag else warning('Configuration compiler option ' +