This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Roman Duka wrote:Here is also a good manual which describes these things
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
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |