Des détails sur ce paquet se trouvent sur Section 10.17.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 compilé avant Glibc et GCC car les deux effectuent divers tests sur l'éditeur de liens et l'assembleur disponibles pour déterminer quelles fonctionnalités activer.
La documentation de Binutils recommande de construire Binutils à l'extérieur du répertoire des sources dans un répertoire dédié :
mkdir -v ../binutils-build cd ../binutils-build
Préparez la compilation de Binutils :
AR=ar AS=as \ ../binutils-2.28/configure \ --prefix=/cross-tools \ --host=${CLFS_HOST} \ --target=${CLFS_TARGET} \ --with-sysroot=${CLFS} \ --with-lib-path=/tools/lib \ --disable-nls \ --disable-static \ --disable-multilib \ --enable-gold=yes \ --enable-plugins \ --enable-threads \ --disable-werror
Voici la signification des nouvelles options de configure :
AR=ar
AS=as
Ceci empêche Binutils de se compiler avec ${CLFS_HOST}-ar et ${CLFS_HOST}-as car ils sont fournis par ce paquet et ils ne peuvent donc pas encore être installés.
--host=${CLFS_HOST}
Lorsqu'elle est utilisée avec --target
, ceci crée un exécutable pour une
architecture croisée qui crée des fichiers pour
${CLFS_TARGET} mais s'exécute sur ${CLFS_HOST}.
--target=${CLFS_TARGET}
Lorsqu'elle est utilisée avec --host
, ceci crée un exécutable pour une
architecture croisée qui crée des fichiers pour
${CLFS_TARGET} mais s'exécute sur ${CLFS_HOST}.
--with-sysroot=${CLFS}
Dit à configure de construire un éditeur de lien qui utilise ${CLFS} comme répertoire racine de recherche.
--with-lib-path=/tools/lib
Ceci dit au script configure de spécifier le chemin de
recherche de la bibliothèque pendant la compilation de
Binutils, le résultat dans /tools/lib
étant passé à l'éditeur de
liens. Ceci empêche l'éditeur de liens de chercher à travers
les répertoires de la bibliothèque sur l'hôte.
--disable-nls
Ceci désactive l'internationalisation car i18n n'est pas nécessaire pour les outils de compilation croisée.
--disable-multilib
Cette option désactive la construction d'un Binutils supportant le Multilib.
--disable-werror
Ceci évite que que la construction ne s'arrête dans le cas où il y aurait des avertissements du compilateur de l'hôte.
--enable-gold=yes
Cette option active la construction de l'éditeur de liens gold.
--enable-plugins
Cette option active le support des greffons.
--enable-threads
Cette option active l'édition de lien multi-threadé pour gold.
Compilez le paquet :
make
Installez le paquet :
make install
Des détails sur ce paquet se trouvent sur Section 10.17.2, « Contenu de Binutils. »