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: [PATCH v3] sysdeps/nanosleep: Use clock_nanosleep_time64 if avaliable


On Fri, 1 Nov 2019, Alistair Francis wrote:

> The nptl/check-abi-libpthread test is failing on a large number of
> archs. This is what seems to be failing, although I can't figure out
> why:

Because you're removing nanosleep from pthread-compat-wrappers.

If you want to remove a symbol from libpthread that is duplicated in libc, 
you need to make sure that, for *every* glibc configuration[*], the symbol 
versions of that symbol in libpthread are a subset of the symbol versions 
of that symbol in libc.  If that is the case, you can remove the symbol 
from libpthread, updating all the ABI test baselines at the same time. See 
many patches of Florian's for examples of moving a symbol from libpthread 
to libc.  If some symbol version isn't already in libc, it needs to be 
added there (see the move of clock_*, for example).

I think such changes to remove duplicate function definitions from 
libpthread are to be encouraged, now that it's possible to move a 
versioned symbol (from another library to libc) that way.  But they should 
*not* be mixed in with other changes to how the function is implemented, 
and you do need to check that all required symbol versions are already in 
libc as described above.  If moving two symbols at once (as in this patch 
which affects both nanosleep and __nanosleep) you need to make such a 
check for both symbols.


[*] That is, every configuration where you're removing the symbol from 
libpthread.  If your change is only for NPTL, you don't need to be 
concerned with Hurd.

-- 
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]