> From: Nick Clifton <ni...@redhat.com> > Date: Wed, 18 Jul 2012 08:51:16 +0200
> 2012-07-18 Nick Clifton <ni...@redhat.com> > > * doc/invoke.texi (ARM Options): Document -munaligned-access. > > Index: gcc/doc/invoke.texi > =================================================================== > --- gcc/doc/invoke.texi (revision 189603) > +++ gcc/doc/invoke.texi (working copy) > @@ -497,7 +497,8 @@ > -mcaller-super-interworking -mcallee-super-interworking @gol > -mtp=@var{name} -mtls-dialect=@var{dialect} @gol > -mword-relocations @gol > --mfix-cortex-m3-ldrd} > +-mfix-cortex-m3-ldrd @gol > +-munaligned-access} > > @emph{AVR Options} > @gccoptlist{-mmcu=@var{mcu} -maccumulate-args -mbranch-cost=@var{cost} @gol > @@ -11049,6 +11050,23 @@ > generating these instructions. This option is enabled by default when > @option{-mcpu=cortex-m3} is specified. > > +@item -munaligned-access > +@itemx -mno-unaligned-access > +@opindex munaligned-access > +@opindex mno-unaligned-access > +Enables (or disables) reading and writing of 16- and 32- bit values > +from addresses that are not 16- or 32- bit aligned. By default > +unaligned access is disabled for all pre-ARMv6 and all ARMv6-M > +architectures, and enabled for all other architectures. *cough* Sounds like a call for a note in changes.html, to warn people that they have to turn on the alignment feature in their startup code (for whatever OS) for their ARMv6-or-later targets, if they have not already done so. Maybe something like: > > Index: changes.html > > =================================================================== > > RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.7/changes.html,v > > retrieving revision 1.113 > > diff -p -u -r1.113 changes.html > > --- changes.html 5 Jun 2012 11:03:53 -0000 1.113 > > +++ changes.html 15 Jun 2012 02:04:46 -0000 > > @@ -43,6 +43,19 @@ > > > > </li> > > > > + <li>On ARM, when compiling for ARMv6 (but not ARMv6-M), ARMv7-A, > > + ARMv7-R, or ARMv7-M, the new option > > + <code>-munaligned-access</code> is active by default, which for > > + some source codes generates code that accesses memory on unaligned > > + adresses. This will require the kernel of those systems to enable > > + such accesses (controlled by CP15 register <code>c1</code>, refer > > + to ARM documentation). Alternatively or for compatibility with > > + kernels where unaligned accesses are not supported, all code has > > + to be compiled with <code>-mno-unaligned-access</code>. > > + Linux/ARM in official releases has automatically and > > + unconditionally supported unaligned accesses as emitted by GCC due > > + to this option being active since Linux version 2.6.28.</li> > > + > > <li>Support on ARM for the legacy floating-point accelerator (FPA) and > > the mixed-endian floating-point format that it used has been obsoleted. > > The ports that still use this format have been obsoleted as well. > > > <http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00282.html> Sorry, but I couldn't miss the opportunity to ping this now that the ARM maintainers have this issue in their L1-cache. A simple yes or no would do; I don't see what could possibly need any contemplation regarding this note. brgds, H-P