5.12. Binutils-2.15.94.0.2.2 - Durchlauf 2

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

Geschätzte Kompilierzeit: 1.5 SBU
Ungefähr benötigter Festplattenplatz: 114 MB
Die Installation ist abhängig von: Bash, Bison, Coreutils, Diffutils, Flex, GCC, Gettext, Glibc, Grep, M4, Make, Perl, Sed und Texinfo

5.12.1. Neuinstallation von Binutils

Dieses Paket funktioniert unter Umständen nicht fehlerfrei, wenn die voreingestellten Optionen für Compiler-Optimierungen übergangen werden. (Dazu gehören auch -march und -mcpu.) Daher sollten die entsprechenden Umgebungsvariablen (wie z. B. CFLAGS und CXXFLAGS) für den Kompiliervorgang zurückgesetzt oder entsprechend abgeändert werden.

Erstellen Sie erneut einen eigenen Ordner zum Kompilieren:

mkdir -v ../binutils-build
cd ../binutils-build

Bereiten Sie Binutils zum Kompilieren vor:

../binutils-2.15.94.0.2.2/configure --prefix=/tools \
    --disable-nls --enable-shared --with-lib-path=/tools/lib

Die Bedeutung der neuen Parameter zu configure:

--with-lib-path=/tools/lib

Dies teilt dem configure-Skript mit, den Standard Bibliotheksuchpfad des Linkers als /tools/lib vorzugeben. Wir möchten im Standard Bibliotheksuchpfad keine Ordner unseres Host-Systems haben, daher geben Sie den gewünschten Pfad vor.

Kompilieren Sie das Paket:

make

Der Kompiliervorgang ist nun abgeschlossen. Wie bereits erwähnt, wird empfohlen, die Testsuite für das temporäre System in diesem Kapitel nicht durchlaufen zu lassen. Falls Sie die Testsuite dennoch laufen lassen möchten, führen Sie dieses Kommando aus:

make check

Installieren Sie das Paket:

make install

Nun bereiten Sie Binutils auf das erneute Anpassen der Toolchain im nächsten Kapitel vor:

make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
[Warnung]

Warnung

Entfernen Sie die Binutils Quell- und Kompilierordner jetzt noch nicht. Sie brauchen sie im jetzigen Zustand noch im nächsten Kapitel.

Details zu diesem Paket finden Sie in Abschnitt 6.13.2, „Inhalt von Binutils“