[PATCH] Fix glibc 2.34 ABI omission (missing GLIBC_2.34 in dynamic loader)
Siddhesh Poyarekar
siddhesh@gotplt.org
Mon Dec 13 14:54:50 GMT 2021
On 12/13/21 17:45, Florian Weimer wrote:
> It's only possible to move symbols if version nodes exist on both
> sides. Therefore, this patch adds a version node to ld.so.
Could we enforce via a test that both libc.so and ld.so always have the
same version nodes? That'll give us future flexibility at the cost of
the extra few bytes.
> Without the version node, a binary linked against newer glibc will start
> referencing GLIBC_2.34 in ld.so after a symbol move to ld.so. The lazy
Would it contain a reference to ld.so though? IIRC, the symbol/version
checks don't care about the DSO in which they are found. So in old
glibc, it should resolve to pthread_key_create@GLIBC_2.34 in libc.so.6
and in newer glibc it should resolve to pthread_key_create@GLIBC_2.34 in
ld.so.
Siddhesh
More information about the Libc-alpha
mailing list