10.2 BPABI がサポートしているプラットフォーム

ベースプラットフォームアプリケーションバイナリインタフェース(BPABI)では、共有ライブラリの種類によって次の 3 通りのプラットフォームモデルを定義しています。

プラットフォームモデルは以下のとおりです。
ベアメタル
ベアメタルモデルは、オフラインのダイナミックローダまたは単純なモジュールローダ用に設計されています。モジュール間の参照は、その他の補助構造体なしに直接ローダによって解決されます。
DLL 類似
ダイナミックリンクライブラリ(DLL)類似モデルは、ロードとランタイムの効率性と引き換えに動的ライブラリと静的ライブラリの間の透過性を犠牲にします。
SysV
System V(SysV)モデルは動的ライブラリと静的ライブラリの間の違いをマスクします。ARM Linux はこの形式を使用しています。

リンカの BPABI サポート

ARM リンカでは 3 種類の BPABI モデルすべてをサポートしており、オブジェクトファイルとライブラリのコレクションを以下の要素にリンクできます。
  • ベアメタル実行可能イメージ。
  • BPABI DLL または SysV の共有オブジェクト。
  • BPABI または SysV の実行可能ファイル

リンカの ARM Linux サポート

リンカは、ARM Linux に必要なデータをすべて備えた SysV の実行可能ファイルと共有ライブラリを生成できます。ただし、--shared オプションまたは --sysv オプションだけでなく、他のコマンドラインオプションとライブラリも指定する必要があります。
正しい入力オプションとライブラリがすべて指定されている場合、後処理なしで ELF ファイルを使用できます。
関連する概念
10.1 ベースプラットフォームアプリケーションバイナリインタフェース(BPABI)について
2.7 BPABI リンクモデルと SysV リンクモデルの両方に共通する概念
関連する参考文書
12.41 --dll
12.128 --shared
12.151 --sysv
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.