Binutils

Eine Installationsanleitung finden sie im Abschnitt namens Installieren von Binutils-2.14 in Kapitel 6.

Offizielle Download Adresse

Binutils (2.14): 
ftp://ftp.gnu.org/gnu/binutils/

Inhalt von Binutils

Binutils ist eine Sammlung von Software-Entwicklungswerkzeugen, zum Beispiel Linker, Assembler und weitere Programme für die Arbeit mit Objektdateien und Archiven.

Installierte Programme: addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings und strip

Installierte Bibliotheken: libiberty.a, libbfd.[a,so] und libopcodes.[a,so]

Kurze Beschreibungen

addr2line übersetzt Programmadressen in Dateinamen und Zeilennummern. Mithilfe der Adresse und dem Namen der ausführbaren Datei benutzt es die debugging Informationen in der Datei um die korrespondierende Quelldatei und Zeilennummer zu der Adresse herauszufinden.

ar erzeugt, bearbeitet und extrahiert von Archiven. Ein Archiv ist eine einzige Datei die eine Sammlung anderer Dateien enthält. Die Struktur des Archivs macht es möglich, einzelne originale Dateien aus dem Archiv zu erhalten (auch Member eines Archivs genannt).

as ist ein Assembler. Er assembliert die Ausgabe von GCC zu Objektdateien.

c++filt wird vom Linker benutzt um verstümmelte C++ und Java Symbole zu reparieren und so Konflikte mit überladenen Funktionen zu verhindern.

gprof zeigt profiling Daten zu Aufrufdiagrammen (call graphs) an.

ld ist ein Linker. Er fügt eine vielzahl von Objekten und Archiven zu einer einzigen Datei zusammen, replaziert ihre Daten und fügt Symbol referenzen zusammen.

nm listet die vorhandenen Symbole in einer angegebenen Objektdatei auf.

objcopy wird verwendet um einen Objekttyp in einen anderen umzuwandeln.

objdump zeigt ausgewählte Informationen zu einer Objektdatei an. Die Informationen sind hauptsächlich für Programmierer nützlich, die an den Kompilierwerkzeugen arbeiten.

ranlib erzeugt einen Index vom Inhalt eines Archivs und speichert ihn in dem Archiv. Der Index enthält eine Liste aller Symbole von replazierbaren Objektdateien im Archiv.

readelf zeigt Informationen über elf-Binärdateien an.

size listet Bereichsgrössen -- und die Summe -- für angegebene Objektdateien auf.

strings gibt zu jeder angegebenen Datei Zeichenketten von druckbaren Zeichen aus, wobei die Sequenzen (als Vorgabe) mindestens 4 Zeichen lang sein müssen. Für Objektdateien gibt es standardmässig nur die Zeichenketten aus den Initialisierungs- und Ladebereichen aus. Bei anderen Dateitypen durchsucht es jeweils die gesamte Datei.

strip entfernt Symbole aus Objektdateien.

libiberty enthält Routinen die von verschiedenen GNU Programmen genutzt werden, z. B. getopt, obstack, strerror, strtol und strtoul.

libbfd ist die Bibliothek für Binärdateibeschreibungen.

libopcodes ist eine Bibliothek die sog. Opcodes behandelt. Sie wird zum erstellen von Werkzeugen wie objdump verwendet. Opcodes sind die "lesbaren" Versionen der Prozessorinstruktionen.

Binutils Installationsabhängigkeiten

Binutils ist abhängig von: Bash, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.