5.8. Binutils-2.22 - Passe 2

Le paquet Binutils contient un éditeur de liens, un assembleur et d'autres outils pour gérer des fichiers objets.

Temps de construction estimé : 1.1 SBU
Espace disque requis : 407 Mo

5.8.1. Installation de Binutils

Appliquez un correctif pour empêcher une échec de construction lors de l'utilisation d'optimisations de compilateur :

patch -Np1 -i ../binutils-2.22-build_fix-1.patch

Créez de nouveau un répertoire de construction séparé :

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

Préparez la compilation de Binutils :

CC=$LFS_TGT-gcc            \
AR=$LFS_TGT-ar             \
RANLIB=$LFS_TGT-ranlib     \
../binutils-2.22/configure \
    --prefix=/tools        \
    --disable-nls          \
    --with-lib-path=/tools/lib

Voici la signification des nouvelles options de configure :

CC=$LFS_TGT-gcc AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib

Étant vraiment une construction neuve de Binutils, l'initialisation de ces variables s'assure que le système de construction utilise le compilateur croisé et les outils associés au lieu de ceux du système hôte.

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

Ceci indique au script configure de spécifier le chemin de recherche des bibliothèques lors de la compilation de Binutils, aboutissant au passage de /tools/lib à l'éditeur de liens. Ceci empêche l'éditeur de liens de chercher dans tous les répertoires de bibliothèques de l'hôte.

Compilez le paquet :

make

Installez le paquet :

make install

Maintenant, préparez l'éditeur de liens pour la phase de « Ré-ajustement » du prochain chapitre :

make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
cp -v ld/ld-new /tools/bin

Voici la signification des paramètres de make :

-C ld clean

Ceci dit au programme make de supprimer tous les fichiers construits dans le sous-répertoire ld.

-C ld LIB_PATH=/usr/lib:/lib

Cette option reconstruit tout dans le sous-répertoire ld. La spécification de la variable de Makefile LIB_PATH sur la ligne de commande nous permet d'écraser la valeur par défaut du tools temporaire et de pointer vers le bon chemin final. La valeur de cette variable indique le chemin de recherche de la bibliothèque par défaut de l'éditeur de liens. Cette préparation sert pour le chapitre suivant.

Les détails sur ce paquet sont disponibles dans Section 6.13.2, « Contenu de Binutils. »