Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GELF_GETSYMSHNDX(3)	 BSD Library Functions Manual	   GELF_GETSYMSHNDX(3)

NAME
     gelf_getsymshndx, gelf_update_symshndx -- read and	update symbol informa-
     tion using	extended section indices

LIBRARY
     ELF Access	Library	(libelf, -lelf)

SYNOPSIS
     #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);

DESCRIPTION
     These functions are analogous to gelf_getsym() and	gelf_update_sym() re-
     spectively, but are capable of handling symbol tables using extended sec-
     tion 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 ex-
     tended 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 ad-
     dition it sets the	extended section index in data buffer xndxdata to the
     value of argument xndx.

RETURN VALUES
     Function gelf_getsymshndx() returns the value of argument sym if success-
     ful, 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.

ERRORS
     These functions may fail with the following errors:

     [ELF_E_ARGUMENT]  Arguments symdata, xndxdata, xndxptr or sym were	NULL.

     [ELF_E_ARGUMENT]  Argument	ndx was	less than zero,	or too large for ei-
		       ther of descriptors symdata or xndxdata.

     [ELF_E_ARGUMENT]  Data descriptor symdata was not associated with a sec-
		       tion of type SHT_SYMTAB.

     [ELF_E_ARGUMENT]  Data descriptor xndxdata	was not	associated with	a sec-
		       tion of type SHT_SYMTAB_SHNDX.

     [ELF_E_ARGUMENT]  Data descriptor symdata and xndxdata were associated
		       with different ELF objects.

     [ELF_E_VERSION]   The Elf_Data descriptors	denoted	by arguments symdata
		       and xndxdata are	associated with	an ELF object with an
		       unsupported version.

SEE ALSO
     elf(3), elf_getdata(3), elf_getscn(3), gelf(3), gelf_getsym(3),
     gelf_update_sym(3)

BSD				April 22, 2019				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gelf_getsymshndx&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help