Commit: ARM: Document -munaligned-access
Hans-Peter Nilsson
hans-peter.nilsson@axis.com
Thu Jul 19 21:34:00 GMT 2012
> From: Nick Clifton <nickc@redhat.com>
> Date: Wed, 18 Jul 2012 08:51:16 +0200
> 2012-07-18 Nick Clifton <nickc@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
More information about the Gcc-patches
mailing list