Disable unaligned memory access

Recent versions of GCC generate code that makes use of ARMv7's ability to
access 16- and 32-bit values from addresses that are not 16- or 32-bit aligned.
The problem is that this does not work for strongly-ordered or device memory.
Since the MMU is (currently) turned off in barebox, all memory is treated as
strongly-ordered. The file doc/README.unaligned-memory-access.txt that comes
with u-boot discusses the issue in great detail. The u-boot folks decided to
make GCC not emit any unaligned access operations. They achieve this by a
series of tricks including avoiding certain perfectly legal C language
constructs. We chose the easier route and pass -mno-unaligned-access to GCC to
make it not generate such unaligned access operations. According to the
following email, this appears to be the preferred method of barebox maintainer
Sascha Hauer:

http://lists.infradead.org/pipermail/barebox/2012-December/011468.html

Change-Id: Ifca733859e92171e54d71090bbcb818800abcac7
1 file changed