版本符号节由类型 SHT_SUNW_versym 定义。此节包含具有以下结构的元素的数组。
typedef Elf32_Half Elf32_Versym; typedef Elf64_Half Elf64_Versym;
该数组的元素数目必须等于关联符号表中包含的符号表项的数目。此数目根据该节的 sh_link 值确定。该数组的每一个元素都包含一个索引,这些索引可以具有下表中所示的值。
表 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 节。