Provided by: manpages-it_4.23.1-1_all bug

NOME

       ldd - stampa le dipendenze degli oggetti condivisi

SINTASSI

       ldd [opzione]... file...

DESCRIZIONE

       ldd  stampa  gli  oggetti condivisi (librerie condivise) richiesti da ciascun programma od
       oggetto condiviso specificato sulla riga di comando. Un esempio d'uso e  di  output  è  il
       seguente:

           $ ldd /bin/ls
                   linux-vdso.so.1 (0x00007ffcc3563000)
                   libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000)
                   libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000)
                   libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000)
                   libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000)
                   libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000)
                   /lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000)
                   libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000)
                   libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000)

       Usualmente,  ldd  invoca  il  linker  dinamico  standard  (vedere  ld.so(8))  e assegna la
       variabile d'ambiente LD_TRACE_LOADED_OBJECTS impostandola a 1. Questo fa sì che il  linker
       dinamico  ispezioni  le  dipendenze  dinamiche  del  programma, e trovi (in accordo con le
       regole descritte in ld.so(8)) e carichi gli oggetti che soddisfano quelle dipendenze.  Per
       ogni  dipendenza, ldd mostra la posizione dell'oggetto trovato e l'indirizzo (esadecimale)
       in cui è stato caricato. (Le dipendenze condivise linux-vdso  e  ld-linux  sono  speciali;
       vedi vdso(7) e ld.so(8).)

   Sicurezza
       È  bene  sapere che in qualche caso (p.es. quando il programma specifica un interprete ELF
       diverso  da  ld-linux.so),  alcune  versioni  di  ldd  possono  cercare  di  ottenere   le
       informazioni  sulle  dipendenze  tentando  di  eseguire direttamente il programma, che può
       portare all'esecuzione  di  qualsivoglia  codice  sia  definito  nell'interprete  ELF  del
       programma,  e  forse  all'esecuzione  del  programma  stesso.  (Nelle  versioni  di  glibc
       precedenti alla 2.27, l'implementazione  upstream  di  ldd  faceva  questo,  per  esempio,
       sebbene la maggior parte delle distribuzioni fornissero una versione modificata che non lo
       faceva.)

       Perciò, non si dovrebbe mai impiegare ldd su un eseguibile non fidato,  poiché  può  avere
       come risultato l'esecuzione di codice arbitrario. Un'alternativa più sicura quando si ha a
       che fare con eseguibili non fidati è:

           $ objdump -p /percorso/del/programma | grep NEEDED

       Si  noti,  comunque,  che  questa  alternativa   mostra   solo   le   dipendenze   dirette
       dell'eseguibile, mentre ldd mostra l'intero albero delle dipendenze dell'eseguibile.

OPZIONI

       --version
              Stampa il numero di versione di ldd.

       --verbose
       -v     Stampa tutte le informazioni, inclusa ad es. la versione.

       --unused
       -u     Stampa le dipendenze dirette inutilizzate. (A partire da glibc 2.3.4.)

       --data-relocs
       -d     Effettua rilocazioni e riporta ogni oggetto mancante (solo ELF).

       --function-relocs
       -r     Effettua  rilocazioni  sia  per  oggetti dati che per funzioni, e riporta tutti gli
              oggetti o funzioni mancanti (solo ELF).

       --help Informazioni sull'uso.

BUG

       ldd non funziona con librerie condivise a.out.

       ldd non funziona con alcuni programmi a.out molto vecchi, che sono stati  costruiti  prima
       che  il  supporto di ldd fosse aggiunto alle release del compilatore. Se si usa ldd in uno
       di questi programmi il programma tenterà di funzionare con  argc = 0 e i risultati saranno
       non prevedibili.

VEDERE ANCHE

       pldd(1), sprof(1), ld.so(8), ldconfig(8)

TRADUZIONE

       La  traduzione  italiana  di  questa  pagina  di  manuale è stata creata da Giulio Daprelà
       <giulio@pluto.it>,   Marco   Curreli   <marcocurreli@tiscali.it>    e    Giuseppe    Sacco
       <eppesuig@debian.org>

       Questa  traduzione è documentazione libera; leggere la GNU General Public License Versione
       3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o successiva per le condizioni di copyright.
       Non ci assumiamo alcuna responsabilità.

       Per  segnalare  errori nella traduzione di questa pagina di manuale inviare un messaggio a
       ⟨pluto-ildp@lists.pluto.it⟩.