6.17. Binutils-2.43.1 - Pass 2

Binutils pakken inneholder en linker, en assembler og annet verktøy for håndtering av objektfiler.

Omtrentlig byggetid: 0.4 SBU
Nødvendig diskplass: 549 MB

6.17.1. Installation of Binutils

Binutils byggesystem er avhengig av en medsendt libtool kopi å lenke mot interne statiske biblioteker, men liberty- og zlib-kopiene sendt i pakken bruker ikke libtool. Denne inkonsekvensen kan forårsake at produserte binærfiler feilaktig kobler mot biblioteker fra vertens distro. Omgå dette problemet:

sed '6009s/$add_dir//' -i ltmain.sh

Opprett en egen byggemappe igjen:

mkdir -v build
cd       build

Forbered Binutils for kompilering:

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

Betydningen av de nye konfigureringsalternativene:

--enable-shared

Bygger libbfd som et delt bibliotek.

--enable-64-bit-bfd

Aktiverer 64-biters støtte (på verter med smalere ordstørrelser). Kanskje ikke nødvendig på 64-bits systemer, men skader ikke.

Kompiler pakken:

make

Installer pakken:

make DESTDIR=$LFS install

Fjern libtool arkivfilene fordi de er skadelige for krysskompilering, og fjern unødvendige statiske biblioteker:

rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}

Detaljer om denne pakken finner du i Seksjon 8.20.2, «Innhold i Binutils»