-
Notifications
You must be signed in to change notification settings - Fork 588
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
glibc 2.34 enablement around pthread mutex handling #2913
Comments
Thanks for the heads-up! I guess the question is, how do we write the code so it works on both 2.34 and pre-2.34. It's no immediately obvious to me how to do that. |
If you build against glibc 2.34, the resulting binaries won't run on older glibc versions anyway, so you can just use a compile-time conditional, like: #ifdef __GLIBC_PREREQ
#if __GLIBC_PREREQ(2, 34)
// New code goes here.
#else
// Old code goes here.
#endif
#endif Old binaries will continue to load (we are about to remove |
Actually ignore my last comment, that was wrong. |
Sounds like we should just add that conditional build stuff and then carry on building with an old distro for releases (and let me mention once again how annoying that requirement is). |
src/preload/overrides.c
contains this code:I want to remove most of the
__
-prefixed functions from the glibc 2.34 release. The above symbols would become unavailable for linking. Based on the comment, that should not be a problem because you can useRTLD_NEXT
on glibc 2.34:dlsym
uses an internal direct call topthread_mutex_lock
, without going through dynamic linking.Would you be open to making this change? Fedora rawhide (available as a container image on
registry.fedoraproject.org/fedora:rawhide
) already contains a glibc 2.34 snapshot, if you want to experiment with it. Thanks.The text was updated successfully, but these errors were encountered: