MicroBlaze ソフト プロセッサ用の mb-ld
リンカーでは、GNU コンパイラでサポートされているオプションに加え、追加のオプションも導入されています。このセクションでは、これらのオプションについて説明します。
-
-defsym _TEXT_START_ADDR=value
- デフォルトでは、出力コードのテキスト セクションはベース アドレス 0x0 から開始しますが、このオプションを使用すると、このデフォルトを変更できます。
-defsym _TEXT_START_ADDR
mb-gcc
コンパイラの実行時にこのオプションを指定すると、出力コードのテキスト セクションは value で指定したアドレスから開始するようになります。デフォルトの開始アドレスを使用する場合は、
-defsym _TEXT_START_ADDR
を設定する必要はありません。これはリンカー オプションであり、リンカーを個別に実行する場合に使用します。リンカーを
mb-gcc
フローの一部として実行する場合は、次のオプションを使用してください。-Wl,-defsym -Wl,_TEXT_START_ADDR=value
-
-relax
- アセンブラーで生成された不要な
imm
命令を削除するリンカー オプションです。アセンブラーでは、即値を算出できない命令があると、imm
命令が生成されます。ほとんどの場合、imm
命令は必要ありません。-relax
オプションを使用すると、リンカーにより不要な imm 命令が削除されます。このオプションは、リンカーを個別に実行した場合にのみ必要です。リンカーを
mb-gcc
の一部として実行する場合は、このオプションは自動的に指定されます。 -
-N
- テキストおよびデータ セクションを読み出し/書き込み可能にします。データ セグメントはページ揃えされません。このオプションは、MicroBlaze プログラムにのみ必要です。リンカーを GCC コンパイラの一部として実行する場合は、このオプションが自動的に指定されます。リンカーを個別に実行する場合は、このオプションを指定する必要があります。
MicroBlaze リンカーでは、セクションをメモリに割り当てるためにリンカー スクリプトが使用されます。これらについては、次のセクションで説明します。