[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.3 クロスコンパイラ用のツールとライブラリ

クロスアセンブラとクロスリンカが利用できるのであれば、ここで インストールする。‘/usr/local/target/bin’ という ディレクトリにこれらを置く。 このディレクトリに置くべきツールの一覧を以下に示す。

as

クロスアセンブラ。

ld

クロスリンカ。

ar

クロスアーカイバ。ターゲットマシンの形式でアーカイブファイル(ライブラリ) を操作することができるプログラムである。

ranlib

アーカイブファイルのシンボルテーブルを作るプログラム。

GNU CC をインストールするとき、上記のプログラムをこのディレクトリから 探し、クロスコンパイラが後で実行するときに探す適切な場所に コピーするかリンクを張る。

これらのファイルを用意する一番簡単な方法は、Binutils パッケージと GAS を構築することである。これらのツールを、GNU CC をコンフィギュレーション するのに使ったのと同じ ‘--host’ オプションと ‘--target’ オプションを使ってコンフィギュレーションするようにし、構築と インストールを行なう。このインストールで、Binutils や GAS の 実行形式が自動的に適切なディレクトリに置かれる。 ただ、残念なことに、Binutils や GAS は、GNU CC がサポートしている ターゲットの全てでサポートされているわけではない。

標準 C ライブラリのような、クロスコンパイラと共に使うライブラリを インストールする場合は、それらを ‘/usr/local/target/lib’ に 置くこと。GNU CC をインストールすると、このディレクトリに置かれている 全てのファイルが、GNU CC が検索してリンクを行なう正しい場所にコピーされる。 以下に、ターゲット機種からライブラリを幾つかコピーする例を示す。

 
ftp target-machine
lcd /usr/local/target/lib
cd /lib
get libc.a
cd /usr/lib
get libg.a
get libm.a
quit

必要になるライブラリの正確な組と、ターゲットマシン上での位置は、 オペレーティング・システムに非常に依存する。

多くの機種では、‘crt0.o’ や ‘crtn.o’ のような、 各実行形式ファイルにリンクされる「開始ファイル」を必要とする。 この二つのファイルは、‘/usr/local/target/lib’ に存在 しなければならない。‘crt0.o’ には複数の変種が存在する可能せいが ある。これは、プロファイリングや他のコンパイルオプションに応じて 使われる。ターゲットの STARTFILE_SPEC の定義を見て、 どういう開始ファイルを使っているかを見て欲しい。 以下に、これらのファイルをターゲットマシンからコピーする方法の例を 示す。

 
ftp target-machine
lcd /usr/local/target/lib
prompt
cd /lib
mget *crt*.o
cd /usr/lib
mget *crt*.o
quit

This document was generated using texi2html 1.78.