from small one page howto to huge articles all in one place

search text in:




Other .linuxhowtos.org sites:gentoo.linuxhowtos.org



Last additions:
using iotop to find disk usage hogs

using iotop to find disk usage hogs

words:

887

views:

215292

userrating:


May 25th. 2007:
Words

486

Views

261808

why adblockers are bad


Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

words:

161

views:

154031

userrating:


April, 26th. 2006:

Druckversion
You are here: manpages





GELF_GETSYMSHNDX

Section: Libelf Programmer's Manual (3)
Updated: 202-1-30
Index Return to Main Contents

 

NAME

gelf_getsymshndx - Retrieve symbol information and separate section index from the symbol table at the given index.

 

SYNOPSIS

#include <gelf.h>

GElf_Sym *gelf_getsymshndx (Elf_Data *symdata, Elf_Data *shndxdata, int ndx, GElf_Sym *sym, Elf32_Word *xshndx);

 

DESCRIPTION

This function retrieves the symbol information for a symbol at index ndx in symdata of a section with type SHT_SYMTAB and stores it in sym. This function also retrieves the symbol's extended section index from shndxdata of a section with type SHT_SYMTAB_SHNDX and stores it in xshndx.

xshndx will contain a no-zero value only for the symbols which have an st_shndx value of SHN_XINDEX. See EXAMPLE below.

The number of symbols in the symbol table can be calculated by dividing the size of symdata by the size of a symbol table entry. The size of symdata can be obtained from symdat->d_size or from the corresponding section header's sh_size. The size of a symbol table entry can be obtained from gelf_fsize(3) with ELF_T_SYM or from the corresponding section header's sh_entsize.

A SHT_SYMTAB_SHNDX section is present in ELF binaries when the number of sections is too large to be represented as an unsigned 1-bit value. In this case the st_shndx field of a GElf_Sym will be set to SHN_XINDEX to indicate that the symbol's section index can be found in the SHT_SYMTAB_SHNDX section. shndxdata for this section can be acquired using elf_scnshndx(3), elf_getscn(3), and elf_getdata(3). The number of entries in shndxdata must be equal to the number of entries in symdata. Entry ndx in shndxdata corresponds to entry ndx in symdata.

 

PARAMETERS

symdata
Pointer to Elf_Data for a SHT_SYMTAB section.

shndxdata
Pointer to Elf_Data for a SHT_SYMTAB_SHNDX section. May be NULL.

ndx
Zero-based index of the symbol table entry in symdata and extended section index entry in shndxdata.

sym
Pointer to a caller-provided GElf_Sym structure for storing the symbol table entry. Must not be NULL.

xshndx
Pointer to a caller-provided Elf32_Word for storing the extended section index associated with the symbol. May be NULL.

 

RETURN VALUE

On success, this function updates sym and xshndx (if not NULL) and returns sym. On failure, it returns NULL and sets elf_errno. If symdata is NULL, then NULL is returned and elf_errno is not set. xshndx is set only if both itself and shndxdata are not NULL.

 

EXAMPLE

  GElf_Sym sym;
  Elf32_Word shndx;

  /* If the symbol uses an extended section index, gelf_getsymshndx stores
     it in shndx.  Otherwise the symbol's section index is taken directly
     from sym.st_shndx.  */
  if (gelf_getsymshndx (symdata, shndxdata, ndx, &sym, &shndx) != NULL
      && sym.st_shndx != SHN_XINDEX)
    shndx = sym.st_shndx;

 

SEE ALSO

elf_getdata(3), elf_getscn(3), elf_scnshndx(3), gelf_fsize(3), gelf_getsym(3), gelf_update_symshndx(3), libelf(3), elf(5)

 

ATTRIBUTES

InterfaceAttributeValue
gelf_getsymshndx() Thread safetyM-Safe

 

REPORTING BUGS

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


 

Index

NAME
SYNOPSIS
DESCRIPTION
PARAMETERS
RETURN VALUE
EXAMPLE
SEE ALSO
ATTRIBUTES
REPORTING BUGS





Support us on Content Nation
rdf newsfeed | rss newsfeed | Atom newsfeed
- Powered by LeopardCMS - Running on Gentoo -
Copyright 2004-2025 Sascha Nitsch Unternehmensberatung GmbH
Valid XHTML1.1 : Valid CSS
- Level Triple-A Conformance to Web Content Accessibility Guidelines 1.0 -
- Copyright and legal notices -
Time to create this page: 13.8 ms