[PATCH] Augment __naked__ function attribute with __noinline__ and __noclone__
Russell King - ARM Linux
linux at arm.linux.org.uk
Wed Jun 2 11:59:47 EDT 2010
On Wed, Jun 02, 2010 at 02:10:56PM +0200, Mikael Pettersson wrote:
> Mikael Pettersson writes:
> > The asm() bodies of naked functions often depend on standard calling
> > conventions, therefore they must be noinline and noclone. GCC 4.[56]
> > currently fail to enforce this, see GCC PR44290. The effect is that
> > most arch/arm/mm/copypage-*.c modules get miscompiled, resulting in
> > kernel crashes during bootup.
> >
> > Part of the fix is to augment the __naked attribute to imply noinline
> > and noclone. This patch implements that, and has been verified to fix
> > the failure to boot a gcc-4.5 compiled 2.6.34 kernel on a Thecus n2100
> > (XScale-based mach-iop32x).
>
> Now also tested with a gcc-4.5 compiled 2.6.35-rc1 kernel on a ds101
> (XScale-based mach-ixp4xx).
I think this needs to go somewhere near linux-kernel.
More information about the linux-arm-kernel
mailing list