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 Glibc et GCC effectuent divers tests sur la présence d'un éditeur de lien et d'un assembleur 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 \ --enable-64-bit-bfd \ --disable-multilib \ --enable-gold=yes \ --enable-plugins \ --enable-threads \ --disable-werror
Voici la signification des nouvelles options de configure :
AR=ar
AS=as
Cela évite que Binutils ne se compile avec ${CLFS_HOST}-ar et ${CLFS_HOST}-as comme ils sont fournis par ce paquet et ne sont donc pas encore installés.
--host=${CLFS_HOST}
Lorsqu'utilisé avec --target, cela crée un exécutable pour une autre architecture qui crée des fichiers pour ${CLFS_TARGET} mais tourne sous ${CLFS_HOST}.
--target=${CLFS_TARGET}
Lorsqu'utilisé avec --host, cela crée un exécutable pour une autre architecture qui crée des fichiers pour ${CLFS_TARGET} mais tourne sous ${CLFS_HOST}.
--with-sysroot=${CLFS}
Dit à configure de construire un éditeur de lien qui utilise ${CLFS} comme répertoire racine pour chercher ses fichiers.
--with-lib-path=/tools/lib
Cela indique au script configure de spécifier le chemin de
recherche de bibliothèques pendant la compilation de
Binutils, ce qui fait que /tools/lib
est passé à l'éditeur de lien.
Cela évite que l'éditeur de lien ne cherche dans les
répertoires de bibliothèques de l'hôte.
--disable-nls
Cela désactive l'internationalisation car elle n'est pas utile pour les outils croisé.
--disable-multilib
Cette option désactive la construction d'un Binutils supportant le multilib.
--enable-64-bit-bfd
Cela ajoute le support 64 bit à Binutils.
--disable-werror
Cela évite que la construction ne s'arrête en cas d'avertissement 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. »