Re: [PATCH 1/2] x86: Mark __vdso entries as asmlinkage

From: H. Peter Anvin
Date: Thu Feb 27 2014 - 18:13:29 EST


On 02/27/2014 12:11 PM, Andy Lutomirski wrote:
>
> Hmm. This sort of goes against existing x86_32 practice where,
> AFAICT, things that need a particular calling convention specify
> asmlinkage and everything else uses regparm(3) if config/kbuild thinks
> it's appropriate.
>

That is not really true for things that aren't part of the kernel image
proper (e.g. the real mode code and so on.) This is a very special case.

> But I'm happy to resubmit the patch if you prefer the CFLAGS approach
> for the 32-bit vdso. I don't think anything will break, since I don't
> think that the 32-bit vdso has any other exported C code.

I think it is the better way to go.

>> It isn't any faster if the C library has to provide a wrapper just to
>> marshal parameters.
>
> Probably true, given that the glibc wrapper could, in principle, use
> an optimized tail call. Also, I see no reason why vdso functions,
> alone of all userspace code, should be special.

Yes, let's stick to the standard ABI. The syscall entry point was very
special.

-hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/