Re: [RFC 0/2] __vdso_findsym

Ian Lance Taylor
2014-06-15T19:22:20Z

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