GNU Binutils
# GNU Binutils

Die GNU Binary Utilities (kurz binutils) sind eine Sammlung von Programmierwerkzeugen für die Erzeugung und Manipulation von Programmen (Linken), Objektcode, Bibliotheken, Assemblersprache sowie Quellcode in verschiedenen Dateiformaten, die ursprünglich von Cygnus Solutions entwickelt wurde. Es gibt Portierungen für verschiedene Systeme, darunter die meisten UNIX-Varianten, Windows, Mac OS X und (teilw.) OS/2.

Typischerweise werden sie zusammen mit der GNU Compiler Collection, make und dem GNU Debugger genutzt.

Die Binutils enthalten folgende Werkzeuge:

| Tool | Funktion |
| - | - |
| as | Assembler |
| ld | Linker |
| gprof | Profiler |
| addr2line | Adresse in Datei und Zeile konvertieren |
| ar | Archive erstellen, extrahieren und modifizieren |
| c++filt | Demangling-Filter für C++-Symbole |
| dlltool | Erzeugung von Windows-DLLs |
| gold | Weiterer Linker |
| nlmconv | Konvertierung der Objektdatei in ein NetWare Loadable Module |
| nm | Symbole in Objektdateien auflisten |
| objcopy | Objektdateien kopieren und unter Umständen verändern |
| objdump | Dump-Informationen über Objektdateien |
| ranlib | Indexstrukturen für Archive erzeugen |
| readelf | Inhalt von ELF-Dateien anzeigen |
| size | Gesamt- und Teilgrößen anzeigen |
| strings | Druckbare Strings ausgeben |
| strip | Symbole aus einer Objektdatei entfernen |
| windmc | Ein zu Windows kompatibler Message Compiler |
| windres | Übersetzer für Windows-Ressourcedateien |

## Integration mit der Binary File Descriptor Bibliothek (BFD oder libbfd)

Ein großer Teil des Programmcodes befindet sich in der BFD-Bibliothek (Binary File Descriptor), die in jeweils spezifisch angepassten Versionen mit den GNU binutils und dem GNU Debugger (gdb) mitgeliefert und von den meisten enthaltenen Tools (außer gold, dem ld von Google, readelf, sowie elfedit) benutzt wird.

Des Weiteren wird z. B. die ebenfalls sehr umfangreiche opcodes-Bibliothek vom GNU Assembler und von GNU objdump genutzt.

Die ursprünglichen BFD-Versionen wurden von David Henkel-Wallace und Steve Chamberlain geschrieben. Spätere Entwickler sind Ken Raeburn und Ian Lance Taylor. Der derzeitige Maintainer ist seit 2005 Nick Clifton.

