6.17. Binutils-2.42 - 2回め

Binutils パッケージは、リンカーやアセンブラーなどのようにオブジェクトファイルを取り扱うツール類を提供します。

概算ビルド時間: 0.5 SBU
必要ディスク容量: 537 MB

6.17.1. 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 の構成」を参照してください。