Linker and Libraries Guide

Version Symbol Section

The version symbol section is defined by the type SHT_SUNW_versym, and consists of an array of elements having the following structure:

typedef Elf32_Half      Elf32_Versym;
typedef Elf64_Half      Elf64_Versym;

The number of elements of the array must equal the number of symbol table entries contained in the associated symbol table. This number is determined by the section's sh_link value. Each element of the array contains a single index that can have the values shown in the following table.

Table 7-32 ELF Version Dependency Indexes

Name 

Value 

Meaning  

VER_NDX_LOCAL

0

Symbol has local scope. 

VER_NDX_GLOBAL

1

Symbol has global scope (assigned to base version definition). 

 

>1

Symbol has global scope (assigned to user-defined version definition). 

Any index values greater than VER_NDX_GLOBAL must correspond to the vd_ndx value of an entry in the SHT_SUNW_verdef section. If no index values greater than VER_NDX_GLOBAL exist, then no SHT_SUNW_verdef section need be present.