[dpdk-stable] patch 'eal: fix build of external app with clang on armv8' has been queued to LTS release 18.11.1

Kevin Traynor ktraynor at redhat.com
Thu Jan 31 16:48:30 CET 2019


Hi,

FYI, your patch has been queued to LTS release 18.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/07/19. 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.

Thanks.

Kevin Traynor

---
>From 6b6824d8b5d9c6ea55f995dbee4131407c151645 Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets at samsung.com>
Date: Mon, 14 Jan 2019 19:14:42 +0300
Subject: [PATCH] eal: fix build of external app with clang on armv8

[ upstream commit 9726aa990731508390319ac5ba213f95b595f550 ]

In case DPDK built using GCC, RTE_TOOLCHAIN_CLANG is not defined.
But 'rte_atomic.h' is a generic header that included to the
external apps like OVS while building with DPDK. As a result,
clang build of OVS fails on armv8 if DPDK built using gcc:

    include/generic/rte_atomic.h:215:9: error:
            implicit declaration of function '__atomic_exchange_2'
            is invalid in C99
    include/generic/rte_atomic.h:494:9: error:
            implicit declaration of function '__atomic_exchange_4'
            is invalid in C99
    include/generic/rte_atomic.h:772:9: error:
            implicit declaration of function '__atomic_exchange_8'
            is invalid in C99

We need to check for current compiler, not the compiler used for
DPDK build.

Fixes: 7bdccb93078e ("eal: fix ARM build with clang")

Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
Acked-by: Thomas Monjalon <thomas at monjalon.net>
---
 lib/librte_eal/common/include/generic/rte_atomic.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/librte_eal/common/include/generic/rte_atomic.h b/lib/librte_eal/common/include/generic/rte_atomic.h
index b99ba4688..d0c464fb1 100644
--- a/lib/librte_eal/common/include/generic/rte_atomic.h
+++ b/lib/librte_eal/common/include/generic/rte_atomic.h
@@ -213,5 +213,5 @@ static inline uint16_t
 rte_atomic16_exchange(volatile uint16_t *dst, uint16_t val)
 {
-#if defined(RTE_ARCH_ARM64) && defined(RTE_TOOLCHAIN_CLANG)
+#if defined(RTE_ARCH_ARM64) && defined(__clang__)
 	return __atomic_exchange_n(dst, val, __ATOMIC_SEQ_CST);
 #else
@@ -496,5 +496,5 @@ static inline uint32_t
 rte_atomic32_exchange(volatile uint32_t *dst, uint32_t val)
 {
-#if defined(RTE_ARCH_ARM64) && defined(RTE_TOOLCHAIN_CLANG)
+#if defined(RTE_ARCH_ARM64) && defined(__clang__)
 	return __atomic_exchange_n(dst, val, __ATOMIC_SEQ_CST);
 #else
@@ -778,5 +778,5 @@ static inline uint64_t
 rte_atomic64_exchange(volatile uint64_t *dst, uint64_t val)
 {
-#if defined(RTE_ARCH_ARM64) && defined(RTE_TOOLCHAIN_CLANG)
+#if defined(RTE_ARCH_ARM64) && defined(__clang__)
 	return __atomic_exchange_n(dst, val, __ATOMIC_SEQ_CST);
 #else
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-01-31 15:44:06.263552860 +0000
+++ 0022-eal-fix-build-of-external-app-with-clang-on-armv8.patch	2019-01-31 15:44:05.000000000 +0000
@@ -1,8 +1,10 @@
-From 9726aa990731508390319ac5ba213f95b595f550 Mon Sep 17 00:00:00 2001
+From 6b6824d8b5d9c6ea55f995dbee4131407c151645 Mon Sep 17 00:00:00 2001
 From: Ilya Maximets <i.maximets at samsung.com>
 Date: Mon, 14 Jan 2019 19:14:42 +0300
 Subject: [PATCH] eal: fix build of external app with clang on armv8
 
+[ upstream commit 9726aa990731508390319ac5ba213f95b595f550 ]
+
 In case DPDK built using GCC, RTE_TOOLCHAIN_CLANG is not defined.
 But 'rte_atomic.h' is a generic header that included to the
 external apps like OVS while building with DPDK. As a result,
@@ -22,7 +24,6 @@
 DPDK build.
 
 Fixes: 7bdccb93078e ("eal: fix ARM build with clang")
-Cc: stable at dpdk.org
 
 Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
 Acked-by: Thomas Monjalon <thomas at monjalon.net>


More information about the stable mailing list