Por que o 'ldd' resolve 'libc.so' para 'ld.so'?

3

Na minha máquina, ldd está mostrando libc.so.6 resolve para /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)

Eu achei que a resolução de ldd era puramente baseada em nome, então seria mais ou menos possível pesquisar libc.so.6 (potencialmente com versões secundárias) no caminho de pesquisa ld . Mas estou vendo isso para a biblioteca ld , que é um nome completamente diferente.

Em outra máquina, ela se comporta como esperado:

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)
    
por Michael Gummelt 25.07.2016 / 22:36

0 respostas

Tags