カスタマーサポートセンター

FAQ~よくある質問~ | FAQマスタ詳細表示

FAQ詳細情報

ID 10810804
FAQカテゴリ(大) リンカ
最終更新日 2015-04-30

質問内容

Error[Lp008]: ambiguous placement....の原因と回避方法

回答内容

確認対象製品:EWARM  バージョン:7.30.3

本エラーは異なる属性(rorw)が同一セクション内に存在し、かつ手動でそのセクションを初期化させるためにセクション演算子(__section_begin等)を使用したときに発生します。

セクション演算子を使用したときリンカは指定されたセクションを一塊の領域としてメモリ上に確保しようとします。手動でコピーを行う場合、データをコピー元からコピー先のアドレスにコピーしていきますが、塊内での属性の配置順はリンカが任意で決定しています。つまりコピー元の各属性の順番とコピー先の各属性の順番が一致しない可能性があるので、リンカは表題のエラーを出力しています。本エラーを回避するには属性ごとにセクションを指定してあげる必要があります。

参考資料URL