Renesas Synergy™

FAQ 3000238 : W0561100メッセージが出力されるがセクションが正しく配置される(CC-RL)

Q: 質問

RL78コンパイラCC-RLを使用しています。W0561100メッセージが出力されているのですが、マップファイルを確認すると、セクションは指定したアドレスに配置されています。
なぜでしょうか?

(例)指定オプション
 -STARt=USER_TEXT1_n/4000,USER_TEXT2_n/5000

(例)出力メッセージ
 W0561100:Cannot find "USER_TEXT1_n" specified in option "start"
 W0561100:Cannot find "USER_TEXT2_n" specified in option "start"

(例)マップファイル抜粋

  SECTION          START     END         SIZE   ALIGN
 USER_TEXT1_n
                  00004000  00004eef    4ef0   1
 USER_TEXT2_n
                  00005000  000050ff     100   1


A: 回答

IDEで、変数/関数情報ヘッダファイルを出力する指定にしているためと考えられます。

この場合には、ビルドの際には、次のようにコンパイル、リンクを2回行うこととなります。
(1) コンパイル(変数/関数情報ヘッダファイル入力なし)
(2) 変数/関数情報ヘッダファイルを出力するためのリンク
(3) 変数/関数情報ヘッダファイルを入力してコンパイル
(4) リンク

W0561100のワーニングですが、上記(2)で出力されていると思われます。

上記(2)では、変数/関数情報ヘッダファイルを入力していない状態でコンパイルされたオブジェクト(near領域のセクションが自動作成されてない)のリンクを行います。そのため、メッセージに出力されているセクションが入力ファイルに存在しないため、W0561100が出力されます。
その後に、上記(3)で変数/関数情報ヘッダファイルを入力してコンパイルすることにより、near属性のセクションが生成されます。そして、上記(4)のリンクの際に指定したアドレスに配置されます。

上記(2)のW0561100メッセージを無視していただくか、サイズが0バイトのダミーのセクションを定義してください。
(例)サイズが0バイトのダミーのセクションの定義
.SECTION USER_TEXT1_n, TEXT
Dummy_USER_TEXT1_n:
.SECTION USER_TEXT2_n, TEXT
Dummy_USER_TEXT2_n:

 

適用製品

CS+ (旧 CubeSuite+)
e² studio
RL78ファミリ用Cコンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください