gelf_update_versym - Man Page

modify class-independent symbol versioning records

Synopsis

#include <gelf.h>

int gelf_update_versym (Elf_Data *data, int ndx, GElf_Versym  *src);
int gelf_update_verdef (Elf_Data *data, int offset, GElf_Verdef  *src);
int gelf_update_verdaux(Elf_Data *data, int offset, GElf_Verdaux *src);
int gelf_update_verneed(Elf_Data *data, int offset, GElf_Verneed *src);
int gelf_update_vernaux(Elf_Data *data, int offset, GElf_Vernaux *src);

Description

These functions provide class-independent modification of GNU ELF symbol versioning sections. Each function copies the contents of the caller-supplied src into the symbol versioning entry at the specified index or offset within data.

gelf_update_versym()

Write a symbol version index into the SHT_GNU_versym section associated with data at index ndx.

gelf_update_verdef()

Write a version definition entry into the SHT_GNU_verdef section associated with data at section offset offset.

gelf_update_verdaux()

Write a version definition auxiliary entry into the SHT_GNU_verdef section associated with data at section offset offset.

gelf_update_verneed()

Write a version needed entry into the SHT_GNU_verneed section associated with data at section offset offset.

gelf_update_vernaux()

Write a version needed auxiliary entry into the SHT_GNU_verneed section associated with data at section offset offset.

Parameters

data

Elf_Data pointer corresponding to the appropriate GNU symbol versioning section.

ndx

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

offset

(For gelf_update_verdef(), gelf_update_verdaux(), gelf_update_verneed(), and gelf_update_vernaux().) Section-relative byte offset of the entry within data.

src

Pointer to the caller-supplied symbol: GElf_Versym, GElf_Verdef, GElf_Verdaux, GElf_Verneed, or GElf_Vernaux as appropriate. This argument must not be NULL.

Return Value

On success, these functions store the requested entry in src, mark the section corresponding to data with ELF_F_DIRTY and return a non-zero value.  On failure, 0 is returned and elf_errno is set.  If data is NULL, 0 is returned without setting elf_errno.

See Also

gelf_getverdaux(3), gelf_getverdef(3), gelf_getvernaux(3), gelf_getverneed(3), gelf_getversym(3), libelf(3), elf(5)

Attributes

InterfaceAttributeValue
gelf_update_versym(),
gelf_update_verdef(),
gelf_update_verdaux(),
gelf_update_verneed(),
gelf_update_vernaux()
Thread safetyMT-Safe

Reporting Bugs

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

Referenced By

gelf_getversym(3).

The man pages gelf_update_verdaux(3), gelf_update_verdef(3), gelf_update_vernaux(3) and gelf_update_verneed(3) are aliases of gelf_update_versym(3).

2025-09-27 Libelf Programmer's Manual