Hi Phil, > diff --git a/lib/librte_eal/common/include/generic/rte_atomic.h > b/lib/librte_eal/common/include/generic/rte_atomic.h > index 9958543..7dd1aa4 100644 > --- a/lib/librte_eal/common/include/generic/rte_atomic.h > +++ b/lib/librte_eal/common/include/generic/rte_atomic.h > @@ -1081,6 +1081,18 @@ static inline void > rte_atomic64_clear(rte_atomic64_t *v) > > /*------------------------ 128 bit atomic operations > -------------------------*/ > > +/** > + * 128-bit integer structure. > + */ > +RTE_STD_C11 > +typedef struct { > + RTE_STD_C11 > + union { > + uint64_t val[2]; > + __extension__ __int128 int128; > + }; > +} __rte_aligned(16) rte_int128_t; > + > #ifdef __DOXYGEN__ >
This change breaks 32-bit x86 builds*. A couple ways to resolve this are 1) with RTE_ARCH_* ifdefs, or 2) keep duplicate definitions of the struct in the aarch64 and x86 header files. Thanks, Gage *http://mails.dpdk.org/archives/test-report/2019-June/086586.html