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