Proposal: Replace xstat (stat version dispatcher)
Joseph Myers
joseph@codesourcery.com
Mon Dec 17 18:22:00 GMT 2018
On Mon, 17 Dec 2018, Florian Weimer wrote:
> Should we switch this over to symbol versioning, with definitions for
> the stat, fstat, &c functions in libc.so.6?
I think we should (for both stat and mknod functions - and thus use only
the new mechanism for time64 variants of stat functions). If the type
layouts do change in future, using symbol versioning would be friendlier
to users than the existing mechanism (it would mean binaries requiring the
new layout reference the new symbol versions and so obviously need a new
glibc version, rather than only failing at runtime because they pass a new
version number to the __x* functions) - though as usual with such changes
users may dislike building with a new glibc introducing requirements on a
new symbol version even though they're only using old functions (users in
such cases should be building using an old-glibc sysroot if they don't
want new-glibc dependencies, but don't always do so).
Internal glibc code would need to change to use the stat64 etc. interfaces
directly (should always use the *64 variants) rather than __x*, with due
allowance for namespace issues (if these apply in libraries outside libc,
it's possible some __*64 variants will need exporting - arguably they
should be exported at public symbol versions anyway, as per bug 14106).
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list