[linux-users] Re: Version definitions and dynamic loading
Roman Duka
rduka@mail.ru
Sun Dec 21 18:32:00 GMT 2003
Roman Duka wrote:
> 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
>
Here is also a good manual which describes these things
http://docs.sun.com/db/doc/816-1386/6m7qcobl7?a=view
------
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