[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