Caught by OBS on armv7:
In file included from .../lib/librte_eal/include/rte_string_fns.h:21,
from .../lib/librte_kvargs/rte_kvargs.c:9:
.../lib/librte_eal/include/rte_common.h:67:37: error: expected '=', ',',
';', 'asm' or '__attribute__' before '__rte_aligned'
67 | typedef uint64_t unaligned_uint64_t __rte_aligned(1);
| ^~~~~~~~~~~~~
.../lib/librte_eal/include/rte_common.h:68:37: error: expected '=', ',',
';', 'asm' or '__attribute__' before '__rte_aligned'
68 | typedef uint32_t unaligned_uint32_t __rte_aligned(1);
| ^~~~~~~~~~~~~
.../lib/librte_eal/include/rte_common.h:69:37: error: expected '=', ',',
';', 'asm' or '__attribute__' before '__rte_aligned'
69 | typedef uint16_t unaligned_uint16_t __rte_aligned(1);
| ^~~~~~~~~~~~~
make[3]: *** [.../mk/internal/rte.compile-pre.mk:116: rte_kvargs.o] Error 1
Move __rte_aligned macro definition before alignment types used by
architectures requiring RTE_ARCH_STRICT_ALIGN like armv7.
Fixes: f35e5b3e07b2 ("replace alignment attributes")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
__GNUC_PATCHLEVEL__)
#endif
+/**
+ * Force alignment
+ */
+#define __rte_aligned(a) __attribute__((__aligned__(a)))
+
#ifdef RTE_ARCH_STRICT_ALIGN
typedef uint64_t unaligned_uint64_t __rte_aligned(1);
typedef uint32_t unaligned_uint32_t __rte_aligned(1);
typedef uint16_t unaligned_uint16_t;
#endif
-/**
- * Force alignment
- */
-#define __rte_aligned(a) __attribute__((__aligned__(a)))
-
/**
* Force a structure to be packed
*/