eal: add and use unaligned integer types
authorCyril Chemparathy <cchemparathy@ezchip.com>
Mon, 22 Jun 2015 18:34:19 +0000 (11:34 -0700)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 24 Jun 2015 10:00:41 +0000 (12:00 +0200)
commit7621d6a8d0bdb39b58ee7c4176a0f2e920b8113d
treed2f4d204fb5bf13694fbcd587dd6d4785dbe9190
parent0052d53df4a407627d58a908bfe348ba5c44d462
eal: add and use unaligned integer types

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.  Strict alignment
architectures will need to define CONFIG_RTE_ARCH_STRICT_ALIGN in
order to effect these new types.

Signed-off-by: Cyril Chemparathy <cchemparathy@ezchip.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
12 files changed:
app/test-pmd/flowgen.c
app/test-pmd/icmpecho.c
app/test-pmd/txonly.c
app/test/packet_burst_generator.c
app/test/test_hash_functions.c
app/test/test_mbuf.c
config/common_bsdapp
config/common_linuxapp
drivers/net/bonding/rte_eth_bond_pmd.c
lib/librte_eal/common/include/rte_common.h
lib/librte_ether/rte_ether.h
lib/librte_ip_frag/rte_ipv4_reassembly.c