I heard last year that versioned linking would be implemented by one the the compiler devs. That is why I stopped myself in diving deeper into this.
However, I think that the addition of versioned symbols should be done by the compiler. If done like this, all compiled sources will be versioned without changes needed into these sources.
If a project declares its own internal libc declarations, I think they should be left alone and used without modification. How can that be controlled?
If a project use the RTL provided libc declarations, is there a way that versioned or unversioned libc symbols can be selected simply with a conditional compilation define?
How to handle linking against a precompiled RTL? In that case libc versioning depends on how the RTL was compiled.