ELF Library Functions elf_version(3ELF)
NAME
elf_version - coordinate ELF library and application ver-
sionsSYNOPSIS
cc [ flag ... ] file ... -lelf [ library ... ]
#include
unsigned elf_version(unsigned ver);
DESCRIPTION
As elf(3ELF) explains, the program, the library, and anobject file have independent notions of the latest ELF ver-
sion. elf_version() lets a program query the ELF library's
internal version. It further lets the program specify what memory types it uses by giving its own working version, ver, to the library. Every program that uses the ELF library must coordinate versions as described below. The headersupplies the version to the program with the macro EV_CURRENT. If the library's internal version
(the highest version known to the library) is lower than that known by the program itself, the library may lack semantic knowledge assumed by the program. Accordingly,elf_version() will not accept a working version unknown to
the library.Passing ver equal to EV_NONE causes elf_version() to return
the library's internal version, without altering the working version. If ver is a version known to the library,elf_version() returns the previous (or initial) working ver-
sion number. Otherwise, the working version remainsunchanged and elf_version() returns EV_NONE.
EXAMPLES
Example 1 A sample display of using the elf_version() func-
tion. The following excerpt from an application program protects itself from using an older library:if (elf_version(EV_CURRENT) == EV_NONE) {
/* library out of date */ /* recover from error */ }SunOS 5.11 Last change: 11 Jul 2001 1
ELF Library Functions elf_version(3ELF)
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
elf(3ELF), elf32_xlatetof(3ELF), elf_begin(3ELF),
libelf(3LIB), attributes(5) NOTES The working version should be the same for all operations on a particular ELF descriptor. Changing the version between operations on a descriptor will probably not give the expected results.SunOS 5.11 Last change: 11 Jul 2001 2