Les détails sur ce paquet sont disponibles dans Section 6.13.2, « Contenu de Binutils. »
Le paquet Binutils contient un éditeur de liens, un assembleur et d'autres outils pour gérer des fichiers objets.
Il est important que Binutils soit le premier paquet compilé parce que à la fois Glibc et GCC réalisent différents tests sur l'éditeur de liens et l'assembleur disponibles pour déterminer leur propres fonctionnalités à activer.
Ce paquet est connu pour avoir des soucis quand les options d'optimisation par défaut (en incluant les options -march et -mcpu) sont modifiées. Donc, si des variables d'environnement qui surchargent les optimisations par défaut, telles que CFLAGS et CXXFLAGS, ont été définies, supprimez cette initialisation pour la construction de Binutils.
Si vous construisez à partir d'un hôte utilisant Gcc-4 ou ultérieur, il est nécessaire de corriger la première construction de cette version de Binutils pour qu'il puisse être compilé par le système hôte.
patch -Np1 -i ../binutils-2.15.94.0.2.2-gcc4-1.patch
La documentation de Binutils recommande de construire Binutils en dehors du répertoire des sources, c'est-à-dire dans un répertoire de construction dédié :
mkdir -v ../binutils-build cd ../binutils-build
Pour que les valeurs SBU listées dans le reste du livre vous soient utiles, mesurez le temps pris pour construire ce paquet, de la configuration jusqu'à la première installation. Pour cela, englobez les trois commandes dans une commande time de cette façon : time { ./configure ... && make && make install; }.
Maintenant, préparez la compilation de Binutils :
../binutils-2.15.94.0.2.2/configure --prefix=/tools --disable-nls
Voici la signification des options de configure :
Ceci indique au script configure de se préparer à installer les programmes Binutils dans le répertoire /tools.
Ceci désactive l'internationalisation car ce n'est pas nécessaire pour des outils temporaires.
Continuez avec la compilation du paquet :
make
La compilation est maintenant terminée. Normalement, la suite de tests devrait être lancé mais, à ce moment, l'ensemble de travail de la suite de tests (Tcl, Expect et DejaGnu) n'est pas encore en place. Les bénéfices à lancer les tests maintenant seraient minimes car les programmes de la première passe seront bientôt remplacés par ceux de la seconde.
Installez le paquet :
make install
Ensuite, préparez l'éditeur de liens pour la phase d'« ajustement » un peu plus tard :
make -C ld clean make -C ld LIB_PATH=/tools/lib
Voici la signification des paramètres de make :
Ceci indique au programme make de supprimer tous les fichiers compilés du sous-répertoire ld.
Cette option reconstruit tout ce qui se trouve dans le sous-répertoire ld. Spécifier la variable LIB_PATH en ligne de commande du makefile nous autorise à écraser la valeur par défaut et à la faire pointer vers notre emplacement temporaire des outils. La valeur de cette variable spécifie le chemin de recherche des bibliothèques par défaut pour l'éditeur de liens. Cette préparation est utilisée plus tard dans le chapitre.
Ne supprimez pas encore les répertoires de construction et des sources dont vous aurez encore besoin dans leur état actuel un peu plus tard dans ce chapitre.
Les détails sur ce paquet sont disponibles dans Section 6.13.2, « Contenu de Binutils. »