Posso confirmar que, pelo menos na Glibc, ld.so
segue os links simbólicos ao abrir /etc/ld.so.cache
. O código está em elf/dl-cache.c
na função _dl_load_cache_lookup
, referenciando a função _dl_sysdep_read_whole_file
de elf/dl-misc.c
. Essa função abre o arquivo e o mapeia na memória; não faz nada sobre links simbólicos.
Evitar links simbólicos exigiria um esforço extra, e não consigo pensar em nenhum motivo pelo qual o carregador faria isso.
Para depurar seu problema, você pode usar strace
para seguir quais arquivos o carregador está lendo ou tentando ler.