Re: Library search path
Daniel Jacobowitz <dan@debian.org> writes:
> Oh-oh. Here's the scoop. The way we currently manage /lib/tls is
> by always searching it but tagging the NPTL libraries as requiring
> kernel 2.6.0; so it's always searched but they may be ignored. The
> "tls" subdir means "things which require thread-local-storage",
> which does not correspond directly to NPTL; NPTL happens to require
> thread local storage _and_ a 2.6.0 kernel.
> TLS works on older kernels.
Yes, but Debian's libc builds with TLS support are tagged for 2.6:
% objdump -sj.note.ABI-tag /lib/tls/libc.so.6
/lib/tls/libc.so.6: file format elf32-i386
Contents of section .note.ABI-tag:
0134 04000000 10000000 01000000 474e5500 ............GNU.
0144 00000000 02000000 06000000 00000000 ................
% /sbin/ldconfig -p | grep libc.so
libc.so.6 (libc6, hwcap: 0x8008000000008000, OS ABI: Linux 2.6.0) => /lib/tls/i686/cmov/libc.so.6
libc.so.6 (libc6, hwcap: 0x8000000000000000, OS ABI: Linux 2.6.0) => /lib/tls/libc.so.6
libc.so.6 (libc6, OS ABI: Linux 2.2.0) => /lib/libc.so.6
> If the TLS versions of the GLX libraries require NPTL, as seems
> likely,
[I don't know, I've got no TLS version of LinuxThreads handy.]
> then either they need to be tagged as requiring 2.6.0
This won't work in general, at least not with binary-only stuff.
RedHat supports TLS (and NPTL) with their 2.4 kernels, so vendors like
NVIDIA won't tag libraries for 2.6.
NVIDIA's TLS libs have no ABI tag at all:
% /sbin/ldconfig -p | egrep "GL.so|GLcore.so"
libGLcore.so.1 (ELF, hwcap: 0x8000000000000000) => /usr/lib/tls/libGLcore.so.1
libGLcore.so.1 (ELF) => /usr/lib/libGLcore.so.1
libGL.so.1 (libc6, hwcap: 0x8000000000000000) => /usr/lib/tls/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/libGL.so.1
libGL.so (libc6) => /usr/lib/libGL.so
> or we need to think of a better way to do this. If you want to tag
> them as a short-term solution, compare the ".note.ABI-tag" section
> in /lib/libc.so.6 and /lib/tls/libc.so.6 (using objdump).
Juergen
--
Juergen Kreileder, Blackdown Java-Linux Team
http://www.blackdown.org/java-linux/java2-status/
Reply to: