Renesas Synergy™

FAQ 1008259 : 指定したオブジェクト・ファイルが期待したセクションに割り付かないのですが、どうすればよいですか?

回答

オブジェクト・ファイルやアーカイブ・ファイル名を記述しても、リンクの結果、 期待したセクションに割り当てられていない場合、リンク・マップを参照してください。
リンカのオプション(-m)でリンク・マップを出力し、 リンク・マップで表示されているファイル名と、パス名も含めてまったく同じ名前でリンク・ディレクティブに記述し、 再リンクしてください。

例)
----------------------------------------------------------------------
TEXT2 : !LOAD ?RX V0x200000{
  text2 = $PROGBITS ?AX .text {c:\nectools\lib850\r32\rompcrt.o};
};
----------------------------------------------------------------------

上記のリンク・ディレクティブでコンパイルしたところ、次のような、メッセージが表示されました。

ld850: warning: no LOAD segment exist for mapping input section ".text" in file "c:\nectools\bin\..\lib850\r32\rompcrt.o", this section is mapped to non-LOAD *DUMMY* segment with no program header.


この場合、rompcrt.o内の.textセクションは、メモリにロードされません。
リンク・マップの出力やメッセージのファイル・パスに合わせ、 次のようにリンク・ディレクティブを修正してください。

--------------------------------------------------------------------------------
TEXT2 : !LOAD ?RX V0x200000{
  text2 = $PROGBITS ?AX .text {c:\nectools\bin\..\lib850\r32\rompcrt.o};
};
--------------------------------------------------------------------------------

memo.gif
リンク・マップは、リンカのオプションにより、 標準出力へ出力されます。

 

 

適用製品

V850用コンパイラパッケージ [CA850]
他にご質問がございましたら、リクエストを送信してください