イメージの構造

イメージの構造は以下によって定義されます。

各リンクステージには、以下のさまざまなイメージのビューがあります。

ELF オブジェクトファイルビュー(リンカの入力)

ELF オブジェクトファイルビューは、入力セクションで構成されます。 ELF オブジェクトファイルには、以下のファイルがあります。

  • 他のオブジェクトファイルとリンクして、実行可能ファイルまたは共有オブジェクトファイルを作成するのに適したコードとデータを保持する再置可能ファイル

  • 実行に適したプログラムを保持する実行可能ファイル

  • 以下の場合にコードおよびデータを保持する共有オブジェクトファイル

    • リンカが、他の再配置可能ファイルおよび共有オブジェクトファイルを使用してファイルを処理し、別のオブジェクトファイルを作成する。

    • ダイナミックリンカが、ファイルを実行可能ファイルおよび他の共有オブジェクトファイルと結合して、プロセスイメージを作成する。

リンカビュー

リンカには、オーバーレイ、位置非依存、および再配置可能なプログラム要素(コードまたはデータ)の有無が異なる、プログラムのアドレス空のビューが 2 つあります。

  • プログラム要素のロードアドレスは、プログラムローダ、ダイナミックリンカ、デバッガなどの外部エージェントによって ELF ファイルのプログム要素がコピーされるときに、そのコピー先として想定されるターゲットアドレスです。 これは、そのプログラム要素の実行アドレスと異なる合があります。

  • プログラム要素の実行アドレスは、リンカがプログラムの実行に参加するときにそのプログラム要素が存在すると想定されるターゲットアドレスです。

プログラム要素が位置非依存または再配置可能である場合、実行アドレスが実行中に変更される可能性があります。

ELF イメージファイルビュー(リンカの出力)

ELF イメージファイルビューは、プログラムセグメントと出力セクションで構成されます。

  • プログラムセグメントに対応するロード領域

  • 最大で 3 つの出力セクションに対応する実行領域

    • RO セクション

    • RW セクション

    • ZI セクション

ロード領域は、1 つ以上の実行領域で構成されます。

Note

armlink では、プログラムセグメントの最大サイズは 2GB です。

メモリビューの説明では、以下の用語に注意して下さい。

以下の図には、各リンクステージにおけるビューの関係を示しています。

Figure 1. セクション、領域、およびセグメントの関係

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0474GJ
Non-ConfidentialID051612