皆様お世話になりますタイトルの組み合わせで開発を進めていき、コンパイルすると以下のエラーが出ます。
E0562332:Relocation value is odd number : ".\generate\cstart.obj"-".text"-"0000005f"
このエラーはグローバル変数を作ったり作らなかったりすると消えたり消えなかったりします。その他ソースの内容は影響していないように感じます。これについて調べると下記URIに到達するのですが、いまいち具体的な解決に至っていません。
https://ja-support.renesas.com/knowledgeBase/18975356https://renesasrulz.com/mcu-mpu/rl78/f/rl78-forum/19728/how-to-resolve-e0562332-relocation-value-is-odd-number-error/64932https://www.renesas.com/us/en/document/tnn/note-using-c-compiler-package-rl78-family-1
cstart.asmの.textセクションが奇数エリアに指定されているとのことですが、これを解決する具体的な方法をご教示いただければ幸いです。CC-RL Version 1.11.0e2studio Version 2022-04 (22.4.0)対象 RL78 G1C G13 etc...
以上、何卒よろしくお願いいたします。
NoMaY 様ご回答、並びに情報のご提示ありがとうございます。ご指摘いただいた通り、call global constructor の内容を IF で囲うことによって問題は回避できているようです。
なお、エラー時のマップデータは以下の通りです。
*** Error information ***
*** Mapping List ***
SECTION START END SIZE ALIGN.vect 00000000 0000007f 80 0.constf 00000080 00000080 0 2.sdata 00000080 00000080 0 2.data 00000082 00000084 3 2.option_byte 000000c0 000000c3 4 1.security_id 000000c4 000000cd a 1.RLIB 000000c4 000000c4 0 1.SLIB 000000c4 000000c4 0 1.monitor1 000000ce 000000d7 a 1.text 000000d8 000001e3 10c 1.textf 000001e4 00000478 295 1.const 00002000 00002000 0 2.monitor2 00007e00 00007fff 200 1.bss 000fe900 000fe903 4 2.dataR 000fe904 000fe906 3 2.init 000fe907 000fe907 0 1.sbss 000ffe20 000ffe20 0 2.sdataR 000ffe20 000ffe20 0 2
まだまだマイコンに対しての知識が足りてないなと痛感いたしました。また、お持ちの知識を惜しげなく展開していただき、重ね重ね感謝いたします。
sun-tkさん、こんにちは。NoMaYです。MAPファイルの情報をありがとうございました。こちらで同じような配置にしても再現しないので不思議に思ってゴソゴソやっていたのですが、やっと私の手元で再現しました。セクションの配置設定(リンカの-startオプション)を自分自身で手作業で指定していると、そうなるようです。プロジェクトのデフォルト設定の-auto_section_layoutを使っていると発生しませんでしたね。以下、画面コピーです。エラーが発生する時エラーが発生しない時