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