本パッケージの詳細は 「Binutils の構成」を参照してください。
Binutils パッケージは、リンカーやアセンブラーなどのようにオブジェクトファイルを取り扱うツール類を提供します。
Binutils によるビルドシステムでは、内部的なスタティックライブラリにリンクさせる libtool は、内部にコピーしたバージョンを用いています。 しかしこのパッケージが提供する内部コピーバージョンである libiverty と zlib は、その libtool を利用していません。 このような不整合があるため、生成されるバイナリが誤ってホスト内のライブラリにリンクされてしまう場合があります。 これを回避するために以下を実行します。
sed '6009s/$add_dir//' -i ltmain.sh
ビルドのためのディレクトリを再び生成します。
mkdir -v build cd build
Binutils をコンパイルするための準備をします。
../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
configure オプションの意味
--enable-shared
libbfd
を共有ライブラリとしてビルドします。
--enable-64-bit-bfd
64 ビットサポートを有効にします(ホスト上にて、より小さなワードサイズとします)。 64 ビットシステムにおいては不要ですが、不具合を引き起こすものではありません。
パッケージをコンパイルします。
make
パッケージをインストールします。
make DESTDIR=$LFS install
クロスコンパイルにとっては libtool アーカイブファイルが邪魔になるため削除し、不要なスタティックライブラリも削除します。
rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}
本パッケージの詳細は 「Binutils の構成」を参照してください。