From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 3DB501B455 for ; Thu, 31 Jan 2019 16:50:14 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E0524804F3; Thu, 31 Jan 2019 15:50:12 +0000 (UTC) Received: from ktraynor.remote.csb (ovpn-117-200.ams2.redhat.com [10.36.117.200]) by smtp.corp.redhat.com (Postfix) with ESMTP id 28C2A5C21F; Thu, 31 Jan 2019 15:50:10 +0000 (UTC) From: Kevin Traynor To: Ilya Maximets Cc: Thomas Monjalon , dpdk stable Date: Thu, 31 Jan 2019 15:48:30 +0000 Message-Id: <20190131154901.5383-22-ktraynor@redhat.com> In-Reply-To: <20190131154901.5383-1-ktraynor@redhat.com> References: <20190131154901.5383-1-ktraynor@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 31 Jan 2019 15:50:13 +0000 (UTC) Subject: [dpdk-stable] patch 'eal: fix build of external app with clang on armv8' has been queued to LTS release 18.11.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2019 15:50:14 -0000 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 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 Acked-by: Thomas Monjalon --- 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 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@dpdk.org Signed-off-by: Ilya Maximets Acked-by: Thomas Monjalon