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

On June 15, 2014 12:22:17 PM PDT, Ian Lance Taylor <i...@golang.org> wrote:
>On Sun, Jun 15, 2014 at 12:14 PM, H. Peter Anvin <h...@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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to