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") Cc: ko...@rehivetech.com Cc: sta...@dpdk.org Signed-off-by: Michael Pfeiffer <michael.pfeif...@tu-ilmenau.de> --- 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