6.17. Binutils-2.40 - Passagem 2

O pacote Binutils contém um vinculador, um montador e outras ferramentas para manusear arquivos objeto.

Tempo aproximado de construção: 0.4 SBU
Espaço em disco exigido: 525 MB

6.17.1. Instalação do Binutils

O Binutils embarca uma cópia desatualizada da libtool no tarball. Ela carece de suporte a raiz de sistema, de forma que os binários produzidos serão erroneamente vinculados à 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

O significado das novas opções do configure:

--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}.{a,la}

Detalhes deste pacote estão localizados em Seção 8.18.2, “Conteúdo do Binutils.”