Re: [RFC 0/2] __vdso_findsym

H. Peter Anvin
2014-06-15T19:31:50Z

The weak symbols are well-known names. The __vdso symbols are strong.

On June 15, 2014 12:22:17 PM PDT, Ian Lance Taylor <iant@golang.org> wrote:
>On Sun, Jun 15, 2014 at 12:14 PM, H. Peter Anvin <hpa@zytor.com> 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.
>>
>> The reason for changing ABI would be shifting types. This is very
>much how glibc manages transitions.
>
>The purpose of symbol versioning is so that symbols with well known
>names, like stat, can continue to use those same names while changing
>types. Both old and new programs can continue to use the name stat
>and continue to work even though they use different types.
>
>I don't see how this applies to the kernel VDSO. Those symbols do not
>use well-known names; they use names like __vdso_time. If you change
>the types used by those symbols, you can change the name as well.
>What is the downside?
>
>Ian

--
Sent from my mobile phone. Please pardon brevity and lack of formatting.