6.17. Binutils-2.42 - Passagem 2

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

Tempo aproximado de construção: 0,5 UPC
Espaço em disco exigido: 537 MB

6.17.1. Instalação do Binutils

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.”