2015-03-09 14:02, Bruce Richardson: > On Wed, Mar 04, 2015 at 02:34:12PM +0800, xuelin.shi at freescale.com wrote: > > From: Xuelin Shi <xuelin.shi at freescale.com> > > > > This module uses type conversion between struct and int. > > Also truncation and comparison is used with this int. > > It is not safe for different endian arch. > > > > Add ifdef for big endian struct to fix this issue. > > > > Signed-off-by: Xuelin Shi <xuelin.shi at freescale.com> > > Get an error compiling this up (using clang on FreeBSD). > > CC rte_lpm.o > In file included from /usr/home/bruce/dpdk.org/lib/librte_lpm/rte_lpm.c:57: > /usr/home/bruce/dpdk.org/lib/librte_lpm/rte_lpm.h:99:5: fatal error: > 'RTE_BYTE_ORDER' is not defined, evaluates to 0 [-Wundef] > #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN > ^ > 1 error generated. > > Adding "#include <rte_byteorder.h>" should fix the issue.
Please Xuelin, could you submit a v2? Thanks > Existing unit tests on IA (little endian) pass fine there-after, but I think > for > this patch it would be good to have an ack from someone who can validate on > a big endian system, since this is what this patch is meant to enable. > > /Bruce >