Possible regression in arm/io.h
Mikael Pettersson
mikpe at it.uu.se
Thu Oct 25 08:35:21 EDT 2012
Will Deacon writes:
> On Thu, Oct 25, 2012 at 07:55:22AM +0100, Artem Bityutskiy wrote:
> > On Wed, 2012-10-24 at 11:52 +0100, Will Deacon wrote:
> > > (a) Understand what has changed in GCC to cause this error to start
> > > cropping up.
> >
> > This is about already quite old gcc 4.6.3, which I use for about 4 last
> > kernel releases already. So it is only the kernel that changed.
>
> Looks like it's broken with gcc 4.7 too, so it might be that it's never
> worked. The problem seems to be that offsettable addresses are assumed by
> GCC to have a 12-bit immediate range, which isn't true for half- and double-
> work accessors, so GAS barfs when presented with the final (invalid) code.
...
> Unfortunately, GCC doesn't give us another constraint
> that we can use for this, so I think we just have to grin and bear it.
Please file a GCC bugzilla entry with an enhancement request to support
ARM constraint letters for other immediate sizes than 12 (and list which
sizes are missing).
More information about the linux-arm-kernel
mailing list