Renesas Synergy™

FAQ 3000030 : E0562330メッセージ(CC-RL)

Q : 質問

RL78コンパイラCC-RLを使用しています。リンク時に、E0562330のエラーになります。対処方法を教えてください。「Relocation size overflow : "test.obj"-".textf"-"00000005"」

A : 回答

命令のオペランドに指定しているシンボルやシンボルのマーク(!,$など)により、命令でアクセスできる範囲を超えているために、エラーとなっています。
次の方法でエラー箇所を特定して対処してください。

出力メッセージ中のファイル名.objの「.obj」を「.prn」にしたアセンブルリストファイルを開いてください。その中に「OFFSET」でセクションごとのアドレスが表示されます。

メッセージ中のセクション名とそのアドレス部分がエラーの原因となっています。質問のメッセージの場合、.textfセクションの0x5番地ですので、アセンブルリストファイル(*.prn)の中で、
.SECTION .textf,TEXTF
の箇所を表示していただき、その下のOFFSETが0x5番地付近の命令を確認してください。
アセンブルリストファイル(*.prn)のOFFSETのアドレスは、命令の先頭のアドレスになります。メッセージで出力されるアドレスは、命令のオペランドのアドレスになります。そのため、メッセージで出力されているアドレスの直前のOFFSETの値の行が該当する命令になります。

その命令のオペランドに記載しているシンボルなどが、マーク(!,$など)を含めて正しいかご確認ください。
(例)
変数abcが、saddr変数ではないのに「!」なしで記述している
MOV A, _abc

適用製品

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