Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ elf_version(3E) — DG/UX 5.4R3.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

elf(3E)



elf_version(3E)                DG/UX 5.4R3.00                elf_version(3E)


NAME
       elfversion - coordinate ELF library and application versions

SYNOPSIS
       cc [flag ...] file ...  -lelf [library ...]

       #include <libelf.h>
       unsigned elfversion(unsigned ver);

DESCRIPTION
       As  elf(3E)  explains,  the  program, the library, and an object file
       have independent notions of the ``latest'' ELF version.   elfversion
       lets  a  program  determine  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 header file <libelf.h> supplies the version to the  program  with
       the macro EVCURRENT.  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, elfversion will not accept a working  version
       unknown to the library.

       Passing  ver  equal  to  EVNONE  causes  elfversion  to  return the
       library's internal version, without altering the working version.  If
       ver  is  a  version  known  to  the  library, elfversion returns the
       previous (or initial) working version number.  Otherwise, the working
       version remains unchanged and elfversion returns EVNONE.

EXAMPLE
       The  following  excerpt  from  an application program protects itself
       from using an older library.

            if (elfversion(EVCURRENT) == EVNONE)
            {
                    /* library out of date */
                    /* recover from error */
            }

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.

SEE ALSO
       elf(3E), elfbegin(3E), elfxlate(3E).










Licensed material--property of copyright holder(s)                         1


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026