| GELF_GETSYMSHNDX(3) | Library Functions Manual | GELF_GETSYMSHNDX(3) |
gelf_getsymshndx,
gelf_update_symshndx — read
and update symbol information using extended section indices
ELF Access Library (libelf, -lelf)
#include <gelf.h>
GElf_Sym *
gelf_getsymshndx(Elf_Data
*symdata, Elf_Data *xndxdata,
int ndx, GElf_Sym *sym,
Elf32_Word *xndxptr);
int
gelf_update_symshndx(Elf_Data
*symdata, Elf_Data *xndxdata,
int ndx, GElf_Sym *sym,
Elf32_Word xndx);
These functions are analogous to
gelf_getsym()
and
gelf_update_sym()
respectively, but are capable of handling symbol tables using extended
section numbering.
Argument symdata is an
Elf_Data descriptor associated with a section of type
SHT_SYMTAB. Argument xndxdata
is an Elf_Data descriptor associated with a section of
type SHT_SYMTAB_SHNDX. Argument
ndx is the index of the symbol table entry being
retrieved or updated. Argument sym is a pointer to a
class-independent GElf_Sym structure.
GElf_Sym structures are described in detail in
gelf(3).
Function
gelf_getsymshndx()
retrieves symbol information at index ndx from the
data descriptor specified by argument symdata and
stores in class-independent form in argument sym. In
addition it retrieves the extended section index for the symbol from data
buffer xndxdata and stores it into the location
pointed to by argument xndxptr.
Function
gelf_update_symshndx()
updates the underlying symbol table entry in data descriptor
symdata with the information in argument
sym. In addition it sets the extended section index in
data buffer xndxdata to the value of argument
xndx.
Function gelf_getsymshndx() returns the
value of argument sym if successful, or NULL in case
of an error.
Function gelf_update_symshndx() returns a
non-zero value if successful, or zero in case of an error.
These functions may fail with the following errors:
ELF_E_ARGUMENT]ELF_E_ARGUMENT]ELF_E_ARGUMENT]SHT_SYMTAB.ELF_E_ARGUMENT]SHT_SYMTAB_SHNDX.ELF_E_ARGUMENT]ELF_E_VERSION]elf(3), elf_getdata(3), elf_getscn(3), gelf(3), gelf_getsym(3), gelf_update_sym(3)
| April 22, 2019 | Debian |