[dpdk-stable] patch 'eal/arm: fix build with gcc optimization level 0' has been queued to stable release 19.11.6

luca.boccassi at gmail.com luca.boccassi at gmail.com
Mon Nov 30 12:50:27 CET 2020


Hi,

FYI, your patch has been queued to stable release 19.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/02/20. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/3b2bbd4988be1d3531b80bdf3d50fd358e52c1cc

Thanks.

Luca Boccassi

---
>From 3b2bbd4988be1d3531b80bdf3d50fd358e52c1cc Mon Sep 17 00:00:00 2001
From: Ruifeng Wang <ruifeng.wang at arm.com>
Date: Fri, 27 Nov 2020 16:09:02 +0800
Subject: [PATCH] eal/arm: fix build with gcc optimization level 0

[ upstream commit d123fd111a161cd4f320ffb551a832cc4ce8c3ab ]

GCC build with '-O0' on platforms with RTE_ARM_FEATURE_ATOMICS set
failed for:
 ../lib/librte_efd/rte_efd.c
 Assembler messages:
3866: Error: selected processor does not support `crc32cb w0,w0,w1'
3890: Error: selected processor does not support `crc32ch w0,w0,w1'
3914: Error: selected processor does not support `crc32cw w0,w0,w1'
3938: Error: selected processor does not support `crc32cx w0,w0,x1'

This was caused by an architecture specifier added for Clang.
Unlike Clang, GCC considers each inline assembly block to be dependent
and therefore, the architecture specifier impacts assemble of some
blocks require certain extension support.

Removed the architecture for GCC to fix the issue.

Fixes: 8fce34cd0a6a ("eal/arm: fix clang build of native target")

Reported-by: Feifei Wang <feifei.wang2 at arm.com>
Signed-off-by: Ruifeng Wang <ruifeng.wang at arm.com>
Acked-by: Jerin Jacob <jerinj at marvell.com>
---
 lib/librte_eal/common/include/arch/arm/rte_atomic_64.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
index 07d0ce91d8..8da989dcca 100644
--- a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
+++ b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
@@ -47,7 +47,11 @@ extern "C" {
 /*------------------------ 128 bit atomic operations -------------------------*/
 
 #if defined(__ARM_FEATURE_ATOMICS) || defined(RTE_ARM_FEATURE_ATOMICS)
+#if defined(RTE_CC_CLANG)
 #define __LSE_PREAMBLE	".arch armv8-a+lse\n"
+#else
+#define __LSE_PREAMBLE	""
+#endif
 
 #define __ATOMIC128_CAS_OP(cas_op_name, op_string)                          \
 static __rte_noinline rte_int128_t                                          \
-- 
2.27.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-11-30 11:49:30.668991102 +0000
+++ 0009-eal-arm-fix-build-with-gcc-optimization-level-0.patch	2020-11-30 11:49:30.402271747 +0000
@@ -1 +1 @@
-From d123fd111a161cd4f320ffb551a832cc4ce8c3ab Mon Sep 17 00:00:00 2001
+From 3b2bbd4988be1d3531b80bdf3d50fd358e52c1cc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d123fd111a161cd4f320ffb551a832cc4ce8c3ab ]
+
@@ -23 +24,0 @@
-Cc: stable at dpdk.org
@@ -29 +30 @@
- lib/librte_eal/arm/include/rte_atomic_64.h | 4 ++++
+ lib/librte_eal/common/include/arch/arm/rte_atomic_64.h | 4 ++++
@@ -32,5 +33,5 @@
-diff --git a/lib/librte_eal/arm/include/rte_atomic_64.h b/lib/librte_eal/arm/include/rte_atomic_64.h
-index 7fcd174661..467d32a455 100644
---- a/lib/librte_eal/arm/include/rte_atomic_64.h
-+++ b/lib/librte_eal/arm/include/rte_atomic_64.h
-@@ -46,7 +46,11 @@ rte_atomic_thread_fence(int memorder)
+diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
+index 07d0ce91d8..8da989dcca 100644
+--- a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
++++ b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
+@@ -47,7 +47,11 @@ extern "C" {


More information about the stable mailing list