在我的机器上, ldd显示libc.so.6parsing为/lib64/ld-linux-x86-64.so.2
ldd binary /lib64/ld-linux-x86-64.so.2 (0x564329071000) libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x564329071000) libz.so.1 => /lib/libz.so.1 (0x7f7b1e631000) libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x564329071000)
我以为ldd的解决scheme纯粹是基于名称的,所以它会在ldsearchpath中粗略地searchlibc.so.6 (可能有小版本)。 但我看到它parsing到ld库,这是一个完全不同的名字。
在另一台机器上,它的行为如预期的那样:
ldd binary linux-vdso.so.1 => (0x00007ffd467d4000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffb22055000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ffb21e3b000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffb21a70000) /lib64/ld-linux-x86-64.so.2 (0x000055a9661b0000)