jammy (1) ldd.1.gz

Provided by: manpages-it_4.13-4_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 (usando sed(1)  per  tagliare  gli  spazi
       bianchi iniziali per una migliore leggibilità in questa pagina) è il seguente:

           $ ldd /bin/ls | sed 's/^ */    /'
                   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  oltre  a
       ld-linux.so),  alcune  versioni  di  ldd  possono  tentare  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 forniscano una versione modificata che non lo fa.)

       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.

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

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

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

       -r, --function-relocs
              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)

COLOPHON

       Questa  pagina  fa parte del rilascio 5.10 del progetto Linux man-pages. Una descrizione del progetto, le
       istruzioni per la segnalazione degli  errori,  e  l'ultima  versione  di  questa  pagina  si  trovano  su
       https://www.kernel.org/doc/man-pages/.

TRADUZIONE

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

       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 ⟨⟩.

                                                  6 marzo 2019                                            LDD(1)