(2-1) tdata,tdata4,tbss4,tdata5,tbss5,tdata7,tbss7,tdata8,tbss8のいずれかの属性のセクションが
存在する場合,次の優先順位で,その属性を持つ全てのセクションの最小アドレス
上記の属性のセクションを使用する場合は,上記の順序で配置してください。sld,sst命令は符号なしのオフセットを持ちます。このため,低優先度のセクションを,高優先度のセクションより小さいアドレスに配置すると,低優先度のセクションをsld,sst命令で参照できません。この場合,リンク時エラーになります。 |
(2-2) edataまたはebss属性のセクションが存在する場合,それら全てのセクションの最小アドレスと
(2-3) edata23またはebss23属性のセクションが存在する場合,それら全てのセクションの最小アドレスと
(2-4) edata32またはebss32属性のセクションが存在する場合,それら全てのセクションの最小アドレスと
(2-5) 上記のいずれのセクションも存在せず,__ep_dataの参照だけがある場合,ゼロ
ただし,定義しようとした値が奇数値である場合,その値に1を加えます。
また,コンパイラは__ep_dataを直接参照するコードを生成しないので,通常,__ep_dataの参照とはスタートアップ・ルーチン内で,__ep_dataの値をエレメント・ポインタ・レジスタ(r30)に設定する処理を指します。
アプリケーション中に__ep_dataの定義や参照が無い場合,最適化リンカ(rlink)は__ep_dataを生成しません。この状態でEP相対セクションへの参照コードがあると,リンク時エラーになります。 |