This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Proposal: Replace xstat (stat version dispatcher)
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: <libc-alpha at sourceware dot org>
- Date: Mon, 17 Dec 2018 18:18:59 +0000
- Subject: Re: Proposal: Replace xstat (stat version dispatcher)
- References: <877eg8cumh.fsf@oldenburg2.str.redhat.com>
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