This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Proposal: Replace xstat (stat version dispatcher)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]