The special GNU extension section .gnu.version has a section type of SHT_GNU_VERSYM.
This section shall have the same number of entries as the Dynamic Symbol Table in
the .dynsym section. The .gnu.version section shall contain an array of
elements of type Elfxx_Half (both of which are 16-bit unsigned integers).
The .gnu.version section and VersionIndex values act as a lookup table for specifying
the version defined for or required by the corresponding symbol in the Dynamic Symbol Table.
For example, the symbol at index N in the .dynsym Symbol Table will have a VersionIndex
value located in the versym table at .gnu.version[N] which identifies
structures in the .gnu.version_d and .gnu.version_r sections. These values
are located in identifiers provided by the the vna_other member of the VerNeedAux
structure or the vd_ndx member of the VerDef structure.
Parse this type by using the given endian-awareness and ELF class layout.
This is generic on EndianParse in order to allow users to optimize for
their expectations of data layout. See EndianParse for more details.