This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Symbol versioning for secondary libraries is not effective
- From: Florian Weimer <fweimer at redhat dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 26 Jan 2018 11:40:56 +0100
- Subject: Symbol versioning for secondary libraries is not effective
- Authentication-results: sourceware.org; auth=none
I looked at underlinking issues in the upcoming Fedora 28 distribution.
It is fairly common that functions from <dlfcn.h> are called from DSOs
which are not linked with -ldl. The net result is that the references
to dlsym etc. are not properly versioned. <pthread.h> and <math.h> are
also affected.
In the past, we have seen actual bugs related to missing symbol versions
for functions from librt.
In short, I think this affects all secondary libraries besides
libc.so.6. This means that bumping symbol versions for those libraries
is not an effective way to maintain backwards compatibility. This is
something to keep in mind for future changes. It is also a mild
argument in favor of moving symbols into libc.so.6, I think.
(Technically, those DSOs are of course incorrectly linked and not
ABI-compliant, but that doesn't help users who are stuck with them.)
Thanks,
Florian