Hi Måns, On Mon, 14 Oct 2013 14:05:13 +0100, Måns Rullgård <[email protected]> wrote:
> Albert ARIBAUD <[email protected]> writes: > > >> > Please do not advise using native unaligned accesses on code that is > >> > not strictly used by ARMv6+ architectures: the present code, for > >> > instance, might be run on pre-ARMv6 or non-ARM platforms, and thus, > >> > should never assume ability to perform unaligned accesses natively. > >> > >> I'm advising no such thing. I said two things: > >> > >> 1. Declaring a struct with the 'packed' attribute makes gcc > >> automatically generate correct code for all targets. _IF_ the > >> selected target supports unaligned ldr/str, these might get used. > >> > >> 2. If your target is ARMv6 or later _AND_ you enable strict alignment > >> checking in the system control register, you _MUST_ build with the > >> -mno-unaligned-access flag. > > > > Then I apologize; I had read "Note that on ARMv6 and later ldr/str > > support unaligned addresses unless this is explicitly disabled in > > the system control register" as a suggestion to use that capability. > > If building for ARMv6 or later, I do suggest allowing unaligned > accesses. The moment you add -march=armv6 (or equivalent), you allow > for a number of things not supported by older versions, so why not > unaligned memory accesses? doc/README.arm-unaligned-accesses probably has the answer to your question, especially from line 21 onward. If not, I'll be happy to provide further clarification. Amicalement, -- Albert. _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

