librt.so TLS issues

Alexander Larsson alexl at redhat.com
Thu Aug 21 10:07:07 UTC 2003


There was a change in glibc somewhere between 2.3.2-57 and 2.3.2-66 that
adds /usr/lib/librt.so.1 to glibc-devel. The file is just a symlink to
librt.so. This change seems wrong to me, and its causing breakage with
TLS.

I have an app not linking to librt, but it dlopens a library that links
to librt.so.1. The app gets the tls libc at /lib/tls/libc.so.6, but when
resolving the librt.so.1 DT_NEEDED it first looks in the system library,
finding /usr/lib/librt.so.1. However, following this symlink gets you
/lib/librt.so.1 which is the non-TLS version of librt. This means we
have mismatched librt and libc versions, causing:

/usr/lib/librt.so.1: symbol __librt_disable_asynccancel, version
GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

Having the soname librt in /usr/lib just seems wrong to me. What was the
reason for introducing it?

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
                   alexl at redhat.com    alla at lysator.liu.se 
He's an obese moralistic sorceror with a passion for fast cars. She's a 
strong-willed goth cab driver fleeing from a Satanic cult. They fight crime! 





More information about the devel mailing list