Re: [RFC 0/2] __vdso_findsym

Rich Felker
2014-06-16T00:56:37Z

On Sun, Jun 15, 2014 at 12:14:04PM -0700, H. Peter Anvin wrote:
> If it doesn't, then you incur an additional indirection penalty. The
> strong __vdso symbol allows the libc wrapper to fall back to the
> vdso implementation, the weak symbol allows three to be no wrapper
> at all. This is good.

No it doesn't. The weak symbol does not implement the interface
contract of the libc function; on error it's required to set errno,
and of course the kernel/vdso cannot do this. Also, there's no way the
symbol versions the kernel provides can match up with userspace symbol
versions that consumers of the function would need. So these features
are just useless.

Rich