Version definitions and dynamic loading

Roman Duka rduka@mail.ru
Sun Dec 21 17:05:00 GMT 2003


Roman Duka wrote:
> Could somebody please explain to me what version definitions are used 
> for and how they are used in ELF object/executable files.
 > ... etc

Well after searching on the net and messing about with shared libraries 
I think I found an answer on my own question :-)
For anybody who is interested, here is the explanation:

A good start is to read info pages (man pages are not as descriptive) on 
"ld", linux linker, especially the section named "VERSION command". Here 
is what the manual says:

The linker supports symbol versions when using ELF.  Symbol versions
are only useful when using shared libraries.  The dynamic linker can use
symbol versions to select a specific version of a function when it runs
a program that may have been linked against an earlier version of the
shared library.

So I created a test shared library that uses symbol versions and test 
application that uses that library, as expected when my application 
calls the functions which are defined for a particular version of the 
library, that version information is propagated through


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com



More information about the crossgcc mailing list