Detalhes deste pacote estão localizados na Seção 8.19.2, “Conteúdo do Binutils.”
O pacote Binutils contém um vinculador, um montador e outras ferramentas para manusear arquivos objeto.
O sistema de construção do "Binutils" depende de uma cópia enviada da "libtool" para vincular-se a bibliotecas estáticas internas, mas as cópias "libiberty" e "zlib" enviadas no pacote não usam a "libtool". Essa inconsistência possivelmente cause binários produzidos vinculados erroneamente a bibliotecas originárias da distribuição anfitriã. Contorne esse problema:
sed '6009s/$add_dir//' -i ltmain.sh
Crie um diretório de construção separado novamente:
mkdir -v build cd build
Prepare o Binutils para compilação:
../configure \ --prefix=/usr \ --build=$(../config.guess) \ --host=$LFS_TGT \ --disable-nls \ --enable-shared \ --enable-gprofng=no \ --disable-werror \ --enable-64-bit-bfd \ --enable-default-hash-style=gnu
O significado das novas opções de configuração:
--enable-shared
Constrói libbfd
como uma
biblioteca compartilhada.
--enable-64-bit-bfd
Habilita suporte de 64 bits (em anfitriões com tamanhos de palavra mais estreitos). Isso possivelmente não seja necessário em sistemas de 64 bits, porém não causa dano.
Compile o pacote:
make
Instale o pacote:
make DESTDIR=$LFS install
Remova os arquivos de arquivamento da libtool, pois eles são danosos para compilação cruzada e remove bibliotecas estáticas desnecessárias:
rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}
Detalhes deste pacote estão localizados na Seção 8.19.2, “Conteúdo do Binutils.”