[Q] Symbol versioning
Bharadwaj Yadavalli
sby@ives.lkg.dec.com
Fri Jun 16 14:07:00 GMT 2000
Finally I am able to crack open the symbol versioning magic, with the
help of Sun's Linker and Librarys Guide and Ulrich Drepper's note that
was floating around. I need a small clarification regarding the
interpretation of the values of the array contents of the section of
type SHT_GNU_versym (.gnu.version section). It seems like each of these
values (which is of type Elfxx_Half) is an index into the version
definition array. Am I correct? What confuses me is the following.
libc.so.6.1 has the following version definitions:
Version index : 1
Version revision : 1
Version flags : 1
No. of associated aux entries : 1
Version name hash value : 0000000005f4e171
Version definition: libc.so.6.1
Version index : 2
Version revision : 1
Version flags : 0
No. of associated aux entries : 1
Version name hash value : 000000000d696910
Version definition: GLIBC_2.0
Version index : 3
Version revision : 1
Version flags : 0
No. of associated aux entries : 2
Version name hash value : 000000000d696911
Version definition: GLIBC_2.1
Predecessor Version definitions :
GLIBC_2.0
Version index : 4
Version revision : 1
Version flags : 0
No. of associated aux entries : 2
Version name hash value : 0000000009691f71
Version definition: GLIBC_2.1.1
Predecessor Version definitions :
GLIBC_2.1
Version index : 5
Version revision : 1
Version flags : 0
No. of associated aux entries : 2
Version name hash value : 0000000009691f72
Version definition: GLIBC_2.1.2
Predecessor Version definitions :
GLIBC_2.1.1
I find a value 32770 in the SHT_GNU_versym associated with the symbol
fdopen, sys_errlist and several others. There is no index 32770 in the
version definition array !! Can some kind soul explain me what I am
missing?
Thanks for your attention and help.
Regards,
Bharadwaj
---
S. Bharadwaj Yadavalli | <bharadwaj.yadavalli@compaq.com>
Alpha Technology Solutions Group | Compaq Computer Corporation
More information about the Binutils
mailing list