10.5 BPABI モデルのシンボルの可視性

ベースプラットフォームアプリケーションバイナリインタフェース(BPABI)の場合、各シンボルには、コンパイラスイッチ、ステアリングファイル、またはソースコードの属性で制御できる可視性プロパティがあります。

シンボルが参照の場合、可視性は、リンカがそのシンボルの定義に使用できる定義を制御します。

シンボルが定義の場合、可視性は、そのシンボルが現在のモジュールの外から見えるかどうかを制御します。

ELF 仕様では、以下の可視性オプションが定義されています。

表 10-1 シンボルの可視性

可視性 参照 定義
STV_DEFAULT シンボルは共有オブジェクトの定義にバインドできます。 シンボルはモジュールの外から見えるようにできます。別のモジュールからの定義によってダイナミックリンカでプリエンプティブにできます。
STV_PROTECTED シンボルはモジュール内で解決する必要があります。 シンボルはモジュールの外から見えるようにできます。別のモジュールからの定義によって実行時にプリエンプティブにできません。
STV_HIDDEN STV_INTERNAL シンボルはモジュール内で解決する必要があります。 シンボルはモジュールの外からは見えません。

シンボルのプリエンプトは System V(SysV)システムで最も一般的です。シンボルのプリエンプトは BPABI のダイナミックリンクライブラリ(DLL)類似の実装で起こることがあります。プラットフォームのオーナーがこの動作を定義します。詳細については、特定のプラットフォームのマニュアルを参照して下さい。

関連する概念
10.12 SysV メモリモデルにおけるダイナミックシンボルテーブルの自動規則
10.13 SysV メモリモデルのアドレシングモード
10.10 SysV モデルのリンカオプション
4.7 RW データ圧縮を使用した最適化
10.14 SysV メモリモデルのスレッドローカルストレージ
10.24 シンボルバージョン管理のスクリプトファイル
関連する参考文書
10.17 ベアメタルモデルと DLL 類似モデルのリンカオプション
10.15 SysV メモリモデルのリンカコマンドラインオプション
12.79 --keep_protected_symbols
12.99 --max_visibility=type
12.103 --override_visibility
13.1 EXPORT ステアリングファイルコマンド
13.3 IMPORT ステアリングファイルコマンド
13.5 REQUIRE ステアリングファイルコマンド
12.159 --use_definition_visibility
関連情報
--apcs=qualifier...qualifier コンパイラオプション
--dllexport_all, --no_dllexport_all コンパイラオプション
--dllimport_runtime, --no_dllimport_runtime コンパイラオプション
--hide_all, --no_hide_all コンパイラオプション
EXPORT、GLOBAL
SCO 開発者ネットワーク
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.