バージョンシンボルセクションは、タイプ SHT_SUNW_versym によって定義されます。このセクションは、次の構造を持つ要素配列で構成されます。
typedef Elf32_Half Elf32_Versym; typedef Elf64_Half Elf64_Versym;
配列の要素数は、関連付けられているシンボルテーブルに存在するシンボルテーブルエントリ数に等しくなければなりません。この値は、セクションの sh_link 値で決定されます。配列の各要素には 1 つのインデックスが存在し、このインデックスは次の表に示す値をとることができます。
表 7–24 ELF バージョン依存インデックス
名前 |
値 |
意味 |
---|---|---|
VER_NDX_LOCAL |
0 |
シンボルにローカル適用範囲が存在します。 |
VER_NDX_GLOBAL |
1 |
シンボルに大域適用範囲が存在し、ベースバージョン定義に割り当てられています。 |
|
>1 |
シンボルに大域適用範囲が存在し、ユーザー定義バージョン定義に割り当てられています。 |
VER_NDX_GLOBAL よりも大きいインデックス値はどれも、SHT_SUNW_verdef セクション内の特定のエントリの vd_ndx 値に対応します。VER_NDX_GLOBAL より大きいインデックス値が存在しない場合、SHT_SUNW_verdef セクションが存在する必要はありません。