Re: [RFC 0/2] __vdso_findsym
From: H. Peter Anvin <hidden>
Date: 2014-06-15 19:31:50
Also in:
lkml
The weak symbols are well-known names. The __vdso symbols are strong. On June 15, 2014 12:22:17 PM PDT, Ian Lance Taylor [off-list ref] wrote:
On Sun, Jun 15, 2014 at 12:14 PM, H. Peter Anvin [off-list ref] wrote:quoted
If it doesn't, then you incur an additional indirection penalty. Thestrong __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.quoted
The reason for changing ABI would be shifting types. This is verymuch 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.