Tom Hughes wrote:
For what it's worth, I think this is a completely pointless incompatibility.
It costs almost nothing to maintain this function (and in fact they have to
do it anyway for old binaries), so I do not see the point of hiding it from
the linker at all. All it means is that the applications have to copy&paste
the same boilerplate everywhere (and do it wrong, e.g., Martin Gansser's
patch will trigger an – admittedly harmless – compiler warning due to
partial structure initialization). Sure, the new API is better because it
supports split seconds, but if you do not have any nanoseconds to pass to
it, there is no benefit in setting up the structure in the caller instead of
letting glibc do it.
So I do not understand at all why glibc is now hiding this function from the
compiler and the linker.
Kevin Kofler