[dpdk-stable] [PATCH v5] eal: arm: fix out of tree build

Michael Pfeiffer michael.pfeiffer at tu-ilmenau.de
Wed Jun 9 12:17:55 CEST 2021


Including various headers may fail for ARM builds with 'Platform must
be built with RTE_FORCE_INTRINSICS' if rte_config.h is not included
before. Move the error message after the includes to ensure rte_config.h
is always included.

Fixes: de966ccdcd7f ("eal/arm: add byte order operations for ARM")
Fixes: 17d5fa0fa90d ("eal/arm: add atomic operations for ARMv7")
Fixes: d708f01b7102 ("eal/arm: add atomic operations for ARMv8")
Fixes: 2173f3333b61 ("mcslock: add MCS queued lock implementation")
Fixes: 7860c3965483 ("eal/arm: add spinlock operations for ARM")
Fixes: ca49b92079df ("ticketlock: enable generic ticketlock on all arch")
Cc: stable at dpdk.org
Cc: kosar at rehivetech.com
Cc: phil.yang at arm.com
Cc: joyce.kong at arm.com

Signed-off-by: Michael Pfeiffer <michael.pfeiffer at tu-ilmenau.de>
---
v5:
* Add Fixes: tag.

v4:
* Apply to fix to rte_atomic_{32,64}.h, rte_{mcs,spin,ticket}lock.h as
  well.
* Remove unnecessary include of rte_config.h.
* Adjust commit message.

v3:
* Proper in-reply-to.

v2:
* Fixed subject line.

 lib/eal/arm/include/rte_atomic_32.h  | 8 ++++----
 lib/eal/arm/include/rte_atomic_64.h  | 8 ++++----
 lib/eal/arm/include/rte_byteorder.h  | 8 ++++----
 lib/eal/arm/include/rte_mcslock.h    | 8 ++++----
 lib/eal/arm/include/rte_spinlock.h   | 8 ++++----
 lib/eal/arm/include/rte_ticketlock.h | 8 ++++----
 6 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lib/eal/arm/include/rte_atomic_32.h b/lib/eal/arm/include/rte_atomic_32.h
index c00ab78dba..138abd3a8b 100644
--- a/lib/eal/arm/include/rte_atomic_32.h
+++ b/lib/eal/arm/include/rte_atomic_32.h
@@ -5,16 +5,16 @@
 #ifndef _RTE_ATOMIC_ARM32_H_
 #define _RTE_ATOMIC_ARM32_H_
 
-#ifndef RTE_FORCE_INTRINSICS
-#  error Platform must be built with RTE_FORCE_INTRINSICS
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 #include "generic/rte_atomic.h"
 
+#ifndef RTE_FORCE_INTRINSICS
+#  error Platform must be built with RTE_FORCE_INTRINSICS
+#endif
+
 #define	rte_mb()  __sync_synchronize()
 
 #define	rte_wmb() do { asm volatile ("dmb st" : : : "memory"); } while (0)
diff --git a/lib/eal/arm/include/rte_atomic_64.h b/lib/eal/arm/include/rte_atomic_64.h
index fa6f334c0d..2907a95196 100644
--- a/lib/eal/arm/include/rte_atomic_64.h
+++ b/lib/eal/arm/include/rte_atomic_64.h
@@ -6,10 +6,6 @@
 #ifndef _RTE_ATOMIC_ARM64_H_
 #define _RTE_ATOMIC_ARM64_H_
 
-#ifndef RTE_FORCE_INTRINSICS
-#  error Platform must be built with RTE_FORCE_INTRINSICS
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -19,6 +15,10 @@ extern "C" {
 #include <rte_compat.h>
 #include <rte_debug.h>
 
+#ifndef RTE_FORCE_INTRINSICS
+#  error Platform must be built with RTE_FORCE_INTRINSICS
+#endif
+
 #define rte_mb() asm volatile("dmb osh" : : : "memory")
 
 #define rte_wmb() asm volatile("dmb oshst" : : : "memory")
diff --git a/lib/eal/arm/include/rte_byteorder.h b/lib/eal/arm/include/rte_byteorder.h
index df2f1d87ba..c00bebf680 100644
--- a/lib/eal/arm/include/rte_byteorder.h
+++ b/lib/eal/arm/include/rte_byteorder.h
@@ -5,10 +5,6 @@
 #ifndef _RTE_BYTEORDER_ARM_H_
 #define _RTE_BYTEORDER_ARM_H_
 
-#ifndef RTE_FORCE_INTRINSICS
-#  error Platform must be built with RTE_FORCE_INTRINSICS
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -17,6 +13,10 @@ extern "C" {
 #include <rte_common.h>
 #include "generic/rte_byteorder.h"
 
+#ifndef RTE_FORCE_INTRINSICS
+#  error Platform must be built with RTE_FORCE_INTRINSICS
+#endif
+
 /* fix missing __builtin_bswap16 for gcc older then 4.8 */
 #if !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))
 
diff --git a/lib/eal/arm/include/rte_mcslock.h b/lib/eal/arm/include/rte_mcslock.h
index 896d678073..915a3ed647 100644
--- a/lib/eal/arm/include/rte_mcslock.h
+++ b/lib/eal/arm/include/rte_mcslock.h
@@ -5,16 +5,16 @@
 #ifndef _RTE_MCSLOCK_ARM_H_
 #define _RTE_MCSLOCK_ARM_H_
 
-#ifndef RTE_FORCE_INTRINSICS
-#  error Platform must be built with RTE_FORCE_INTRINSICS
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 #include "generic/rte_mcslock.h"
 
+#ifndef RTE_FORCE_INTRINSICS
+#  error Platform must be built with RTE_FORCE_INTRINSICS
+#endif
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/lib/eal/arm/include/rte_spinlock.h b/lib/eal/arm/include/rte_spinlock.h
index a973763c23..e29ddab89a 100644
--- a/lib/eal/arm/include/rte_spinlock.h
+++ b/lib/eal/arm/include/rte_spinlock.h
@@ -5,10 +5,6 @@
 #ifndef _RTE_SPINLOCK_ARM_H_
 #define _RTE_SPINLOCK_ARM_H_
 
-#ifndef RTE_FORCE_INTRINSICS
-#  error Platform must be built with RTE_FORCE_INTRINSICS
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -16,6 +12,10 @@ extern "C" {
 #include <rte_common.h>
 #include "generic/rte_spinlock.h"
 
+#ifndef RTE_FORCE_INTRINSICS
+#  error Platform must be built with RTE_FORCE_INTRINSICS
+#endif
+
 static inline int rte_tm_supported(void)
 {
 	return 0;
diff --git a/lib/eal/arm/include/rte_ticketlock.h b/lib/eal/arm/include/rte_ticketlock.h
index e66beefbe2..22eb40fb66 100644
--- a/lib/eal/arm/include/rte_ticketlock.h
+++ b/lib/eal/arm/include/rte_ticketlock.h
@@ -5,16 +5,16 @@
 #ifndef _RTE_TICKETLOCK_ARM_H_
 #define _RTE_TICKETLOCK_ARM_H_
 
-#ifndef RTE_FORCE_INTRINSICS
-#  error Platform must be built with RTE_FORCE_INTRINSICS
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 #include "generic/rte_ticketlock.h"
 
+#ifndef RTE_FORCE_INTRINSICS
+#  error Platform must be built with RTE_FORCE_INTRINSICS
+#endif
+
 #ifdef __cplusplus
 }
 #endif
-- 
2.32.0



More information about the stable mailing list