elf_version(3E)elf_version(3E)NAMEelf_version() - coordinate ELF library and application versions
Command: [flag]... file... [library]...
As elf(3E) explains, the program, the library, and an object file have
independent notions of the "latest" ELF version. lets a program deter‐
mine the ELF library's It further lets the program specify what memory
types it uses by giving its own ver, to the library. Every program
that uses the ELF library must coordinate versions as described below.
The header file supplies the version to the program with the macro 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, will
not accept a working version unknown to the library.
Passing a ver equal to causes to return the library's internal version,
without altering the working version. If ver is a version known to the
library, returns the previous (or initial) working version number.
Otherwise, the working version remains unchanged and returns
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 */
The working version should be the same for all operations on a particu‐
lar ELF descriptor. Changing the version between operations on a
descriptor will probably not give the expected results.
SEE ALSOelf(3E), elf_begin(3E), elf_xlate(3E).