2015-06-22 09:47, Cyril Chemparathy: > On Mon, 22 Jun 2015 11:36:20 +0200 > Thomas Monjalon <thomas.monjalon at 6wind.com> wrote: > > > 2015-06-19 10:34, Cyril Chemparathy: > > > On machines that are strict on pointer alignment, current code > > > breaks on GCC's -Wcast-align checks on casts from narrower to wider > > > types. This patch introduces new unaligned_uint(16|32|64)_t types, > > > which correctly retain alignment in such cases. > > [...] > > > +#ifdef RTE_ARCH_STRICT_ALIGN > > > +typedef uint64_t unaligned_uint64_t __attribute__ ((aligned(1))); > > > +typedef uint32_t unaligned_uint32_t __attribute__ ((aligned(1))); > > > +typedef uint16_t unaligned_uint16_t __attribute__ ((aligned(1))); > > > +#else > > > +typedef uint64_t unaligned_uint64_t; > > > +typedef uint32_t unaligned_uint32_t; > > > +typedef uint16_t unaligned_uint16_t; > > > +#endif > > > > CONFIG_RTE_ARCH_STRICT_ALIGN should be declared (and disabled) in > > config templates. > > Sure. Will include in v3. I'm assuming this goes into > common_linuxapp and common_bsdapp, allowing specific architectures to > override if necessary. Correct?
Yes, thanks