Installez Binutils en lançant les commandes suivantes:
./configure --prefix=/usr --enable-shared &&
make -e tooldir=/usr &&
make -e tooldir=/usr install &&
make -e tooldir=/usr install-info
Le package Binutils contient les programmes gasp, gprof, ld, as, ar, nm, objcopy, objdump, ranlib, readelf, size, strings, strip, c++filt et addr2line.
gasp est le préprocesseur de macros assembleur.
gprof affiche les données de profil sous forme de graphe d'appel.
ld combine plusieurs fichiers objets et archives, modifie l'emplacement de leurs données et lie les références des symboles. Souvent, la dernière étape dans la construction d'un nouveau programme compilé à exécuter est un appel à ld.
as a d'abord été prévu pour assembler la sortie du compilateur GNU C gcc, pour qu'elle puisse être utilisée par le lieur ld.
Le programme ar crée, modifie et extrait des données depuis des archives. Une archive est un simple fichier contenant un ensemble d'autres fichiers dans une structure qui permet de retrouver les fichiers individuels d'origine (appelés membres de l'archive).
nm liste les symboles des fichiers objet.
L'utilitaire objcopy copie le contenu d'un fichier objet dans un autre. objcopy utilise la bibliothèque GNU BFD pour lire et écrire dans les fichiers objet. Il peut écrire le fichier objet destination dans un format différent de celui du fichier objet source.
objdump affiche des informations sur un ou plusieurs fichiers objet. Les options déterminent quelles informations spécifiques sont à afficher. Ces informations sont essentiellement utiles pour les programmeurs qui travaillent sur des outils de compilation, à l'inverse des programmeurs qui veulent juste que leur programme compile et fonctionne.
ranlib génère un index du contenu d'une archive, et le stocke dans l'archive. L'index liste chaque symbole défini par un membre d'une archive, qui est un fichier objet re-localisable.
readelf affiche des informations sur les binaires de type elf.
size liste les tailles des sections -- et la taille totale -- de chaque fichier objet objfile dans sa liste d'arguments. Par défaut, une ligne est générée en sortie pour chaque fichier objet ou chaque module dans l'archive.
Pour chaque fichier donné, strings affiche les séquences de caractères imprimables qui ont au moins une longueur de quatre caractères (ou le nombre spécifié en option du programme) et sont suivies d'un caractère non imprimable. Par défaut, il affiche seulement les chaînes des parties initialisées et chargées des fichiers objet; pour les autres types de fichier, il affiche les chaînes de tout le fichier.
strings est essentiellement utilisé pour déterminer le contenu des fichiers non-texte.
strip débarrasse les fichiers objet de tous les symboles, ou de certains en particuliers. La liste des fichiers objet peut inclure des archives. Au moins un fichier objet doit être fourni. strip modifie les fichiers fournis en argument, plutôt que d'écrire les copies modifiées sous d'autres noms.
Le langage C++ fournit un mécanisme de surcharge, ce qui signifie que vous pouvez écrire plusieurs fonctions ayant le même nom (pourvu que chacune réclame des paramètres de types différents). Tous les noms de fonction C++ sont encodés dans un nom d'assemblage de bas niveau (ce processus est connu sous le nom de broyage). Le programme c++filt fait l'association inverse: il décode (dé-broie) les noms de bas niveau en noms de niveau utilisateur, pour que le lieur puisse prévenir un conflit entre ces fonctions surchargées.
addr2line traduit les adresses d'un programme en noms de fichier et numéros de ligne. A partir d'une adresse et d'un exécutable, il utilise les informations de déboguage présentes dans l'exécutable pour trouver quel nom de fichier et quel numéro de ligne sont associés à une adresse donnée.
Précédent | Sommaire | Suivant |
Installer Bin86 | Niveau supérieur | Installer Bzip2 |