bswap: add NO_UNALIGNED_LOADS define
commita0df2e5a7efe90e932af66e70ba6c863a5826833
authorJeff King <peff@peff.net>
Tue, 29 Dec 2015 06:36:00 +0000 (29 01:36 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 4 Jan 2016 17:51:33 +0000 (4 09:51 -0800)
tree02b8f24be01127a96e3f1ba20f269d54e773ff10
parent9a93c6686f56086fe5280a85513041bbfebf41d0
bswap: add NO_UNALIGNED_LOADS define

The byte-swapping code automatically decides, based on the
platform, whether it is sensible to cast and do a potentially
unaligned ntohl(), or to pick individual bytes out of an
array.

It can be handy to override this decision, though, when
turning on compiler flags that will complain about unaligned
loads (such as -fsanitize=undefined). This patch adds a
macro check to make this possible.

There's no nice Makefile knob here; this is for prodding at
Git's internals, and anybody using it can set
"-DNO_UNALIGNED_LOADS" in the same place they are setting up
"-fsanitize".

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/bswap.h