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@xxxxxxxxxx> wrote: >On Sun, Jun 15, 2014 at 12:14 PM, H. Peter Anvin <hpa@xxxxxxxxx> 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-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html