Les détails sur ce paquet sont disponibles dans Section 8.20.2, « Contenu de Binutils. »
Le paquet Binutils contient un éditeur de liens, un assembleur et d'autres outils permettant de gérer des fichiers objet.
Le système de construction de Binutils se base sur une copie de libtool pour se lier à des bibliothèques statiques internes, mais les copies de libiberty et zlib fournies dans le paquet n'utilisent pas libtool. Cette incohérence peut faire que les binaires produits seront liés aux bibliothèques de l'hôte par erreur. Contournez ce problème :
sed '6009s/$add_dir//' -i ltmain.sh
Créez de nouveau un répertoire de construction séparé :
mkdir -v build cd build
Préparez la compilation de Binutils :
../configure \ --prefix=/usr \ --build=$(../config.guess) \ --host=$LFS_TGT \ --disable-nls \ --enable-shared \ --enable-gprofng=no \ --disable-werror \ --enable-64-bit-bfd \ --enable-new-dtags \ --enable-default-hash-style=gnu
Voici la signification des nouvelles options de configure :
--enable-shared
Construit libbfd
en tant que
bibliothèque partagée.
--enable-64-bit-bfd
Active la prise en charge du 64 bits (sur les hôtes avec des tailles de mots plus petites). Cela n'est peut-être pas nécessaire sur les systèmes 64 bits, mais ça ne fait pas de mal.
Compilez le paquet :
make
Installez le paquet :
make DESTDIR=$LFS install
Supprimez les fichiers d'archive libtool car ils sont dangereux pour la compilation croisée et supprimez des bibliothèques statiques inutiles :
rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}
Les détails sur ce paquet sont disponibles dans Section 8.20.2, « Contenu de Binutils. »