.\" -*- coding: UTF-8 -*- .\" Copyright 1995-2000 David Engel (david@ods.com) .\" Copyright 1995 Rickard E. Faith (faith@cs.unc.edu) .\" Copyright 2000 Ben Collins (bcollins@debian.org) .\" Redone for GLibc 2.2 .\" Copyright 2000 Jakub Jelinek (jakub@redhat.com) .\" Corrected. .\" and Copyright (C) 2012, 2016, Michael Kerrisk .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Do not restrict distribution. .\" May be distributed under the GNU General Public License .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LDD 1 "6 mars 2019" "" "Manuel du programmeur Linux" .SH NOM ldd \- Afficher les dépendances des objets partagés .SH SYNOPSIS \fBldd\fP [\fIoption\fP]... \fIfichier\fP... .SH DESCRIPTION \fBldd\fP affiche la liste des objets partagés (bibliothèques partagées) nécessaires pour chaque programme ou objet partagz passé sur la ligne de commande. Voici un exemple de son utilisation et de sa sortie (qui utilise \fBsed\fP(1) pour supprimer les espaces de début pour une meilleure lisibilité sur cette page)\ : .PP .in +4n .EX $ \fBldd /bin/ls | sed \(aqs/^ */ /\(aq\fP 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) .EE .in .PP .\" Normalement, \fBldd\fP appelle l'éditeur de liens dynamiques standard (consultez \fBld.so\fP(8)) avec la variable d'environnement \fBLD_TRACE_LOADED_OBJECTS\fP définie à \fB1\fP. Cela force l'éditeur de liens à examiner les dépendances dynamiques du programme et à rechercher puis charger les objets qui les satisfont (selon les règles décrites dans \fBld.so\fP(8)). Pour chaque dépendance, \fBldd\fP affiche l'emplacement de l'objet correspondant et l'adresse (hexadécimale) où il est chargé. Les dépendances partagées \fIlinux\-vdso\fP et \fIld\-linux\fP sont particulières\ : voir \fBvdso\fP(7) et \fBld.so\fP(8). .SS Sécurité .\" The circumstances are where the program has an interpreter .\" other than ld-linux.so. In this case, ldd tries to execute the .\" program directly with LD_TRACE_LOADED_OBJECTS=1, with the .\" result that the program interpreter gets control, and can do .\" what it likes, or pass control to the program itself. .\" Much more detail at .\" http://www.catonmat.net/blog/ldd-arbitrary-code-execution/ .\" Mainline glibc's ldd allows this possibility (the line .\" try_trace "$file" .\" in glibc 2.15, for example), but many distro versions of .\" ldd seem to remove that code path from the script. .\" glibc commit eedca9772e99c72ab4c3c34e43cc764250aa3e3c Soyez conscient que dans certaines circonstances (par exemple si le programme spécifie un interpréteur ELF différent de \fIld\-linux.so\fP), certaines versions de \fBldd\fP risquent d'essayer d'obtenir les renseignements de dépendances en exécutant directement le programme, ce qui peut entraîner l'exécution de n'importe quel code défini dans l'interpréteur ELF du programme, voire du programme lui\-même (par exemple, l'implémentation en amont de \fBldd\fP faisait cela dans des versions de glibc antérieures à\ 2.27, bien que la plupart des distributions fournissaient une version modifiée qui ne le faisait pas). .PP Par conséquent, vous ne devriez \fBjamais\fP utiliser \fBldd\fP sur du code exécutable non sûr, car cela pourrait avoir pour conséquence l'exécution de code arbitraire. Un autre moyen de traiter les exécutables non sûrs est\ : .PP .in +4n .EX $ \fBobjdump \-p /chemin/du/programme | grep NEEDED\fP .EE .in .PP Remarquez cependant que cette alternative n'affiche que les dépendances directes de l'exécutable, alors que \fBldd\fP présente tout l'arbre des dépendances de l'exécutable. .SH OPTIONS .TP \fB\-\-version\fP Afficher le numéro de version de \fBldd\fP. .TP \fB\-v\fP, \fB\-\-verbose\fP Afficher toutes les informations, y compris les versions des symboles. .TP \fB\-u\fP, \fB\-\-unused\fP Afficher les dépendances directes inutilisées (depuis la glibc\ 2.3.4). .TP \fB\-d\fP, \fB\-\-data\-relocs\fP Réaliser les déplacements et indiquer les objets manquants (ELF seulement). .TP \fB\-r\fP, \fB\-\-function\-relocs\fP Réaliser les déplacements pour les objets donnés et les fonctions, et indiquer les objets ou fonctions manquants (ELF seulement). .TP \fB\-\-help\fP .\" .SH NOTES .\" The standard version of .\" .B ldd .\" comes with glibc2. .\" Libc5 came with an older version, still present .\" on some systems. .\" The long options are not supported by the libc5 version. .\" On the other hand, the glibc2 version does not support .\" .B \-V .\" and only has the equivalent .\" .BR \-\-version . .\" .LP .\" The libc5 version of this program will use the name of a library given .\" on the command line as-is when it contains a \(aq/\(aq; otherwise it .\" searches for the library in the standard locations. .\" To run it .\" on a shared library in the current directory, prefix the name with "./". Aide. .SH BOGUES \fBldd\fP ne fonctionne pas avec les bibliothèques partagées \fIa.out\fP. .PP .\" .SH AUTHOR .\" David Engel. .\" Roland McGrath and Ulrich Drepper. \fBldd\fP ne fonctionne pas avec certains programmes \fIa.out\fP très anciens qui ont été compilés avant que la prise en charge de \fBldd\fP ne soit ajoutée dans le compilateur. Si vous utilisez \fBldd\fP sur l'un de ces programmes, il sera lancé avec \fIargc\ =\ 0\fP et les résultats seront imprévisibles. .SH "VOIR AUSSI" \fBpldd\fP(1), \fBsprof\fP(1), \fBld.so\fP(8), \fBldconfig\fP(8) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Jean-Philippe MENGUAL . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .