gelf_getversym - Man Page

retrieve GNU symbol versioning entries

Synopsis

#include <gelf.h>

GElf_Versym  *gelf_getversym (Elf_Data *data, int ndx, GElf_Versym  *dst);
GElf_Verdef  *gelf_getverdef (Elf_Data *data, int offset, GElf_Verdef  *dst);
GElf_Verdaux *gelf_getverdaux(Elf_Data *data, int offset, GElf_Verdaux *dst);
GElf_Verneed *gelf_getverneed(Elf_Data *data, int offset, GElf_Verneed *dst);
GElf_Vernaux *gelf_getvernaux(Elf_Data *data, int offset, GElf_Vernaux *dst);

Description

These functions provide class-independent access to GNU ELF symbol version information. The requested entry is retrieved from data and stored in the caller-supplied dst.

gelf_getversym()

Retrieves the symbol version index at index ndx from the SHT_GNU_versym section associated with data.

gelf_getverdef()

Retrieves the version definition entry at section offset offset from the SHT_GNU_verdef section associated with data.

gelf_getverdaux()

Retrieves the version definition auxiliary entry at section offset offset from the SHT_GNU_verdef section associated with data.

gelf_getverneed()

Retrieves the version needed entry at section offset offset from the SHT_GNU_verneed section associated with data.

gelf_getvernaux()

Retrieves the version needed auxiliary entry at section offset offset from the SHT_GNU_verneed section associated with data.

Parameters

data

Pointer to an Elf_Data corresponding to the appropriate GNU versioning section.

ndx

(For gelf_getversym() only.) Zero-based index of the entry within data.

offset

(For gelf_getverdef(), gelf_getverdaux(), gelf_getverneed(), and gelf_getvernaux().) Section-relative byte offset of the entry within data.

dst

Pointer to a caller-provided entry of the appropriate type: GElf_Versym, GElf_Verdef, GElf_Verdaux, GElf_Verneed, or GElf_Vernaux. This argument must not be NULL.

Return Value

On success, these functions store the requested entry in dst and return dst. On failure, these functions return NULL and set elf_errno.  If data is NULL, then NULL is returned without setting elf_errno.

See Also

gelf_update_verdaux(3), gelf_update_verdef(3), gelf_update_vernaux(3), gelf_update_verneed(3), gelf_update_versym(3), libelf(3), elf(5)

Attributes

InterfaceAttributeValue
gelf_getversym(),
gelf_getverdef(),
gelf_getverdaux(),
gelf_getverneed(),
gelf_getvernaux()
Thread safetyMT-Safe

Reporting Bugs

Report bugs to <elfutils-devel@sourceware.org> or https://sourceware.org/bugzilla/.

Referenced By

gelf_update_versym(3).

2025-09-27 Libelf Programmer's Manual