
On Wed, May 22, 2013 at 11:48 AM, Stephen Warren swarren@wwwdotorg.orgwrote:
From: Stephen Warren swarren@nvidia.com
Initialized character arrays on the stack can cause gcc to emit code that performs unaligned accessess. Make the data static to avoid this.
Note that the unaligned accesses are made when copying data to prefix[] on the stack from .rodata. By making the data static, the copy is completely avoided. All explicitly written code treats the data as u8[], so will never cause any unaligned accesses.
Signed-off-by: Stephen Warren swarren@nvidia.com
Acked-by: Simon Glass sjg@chromium.org
Thanks for fixing.
I hit this with gcc 4.7. I wonder if previous revisions would not make this assumption?
Another problem I have is that the 'linux' in 'linux,keymap' in the device compile turns into '1' since gcc predefines 'linux' to 1:
I think I'm going to add a -Ulinux to dts/Makefile.
Regards. Simon