gelf_update_ehdrgelf_update_phdrgelf_update_shdr
- update underlying ELF data structures
LIBRARY
Lb libelf
SYNOPSIS
#include <gelf.h> int
gelf_update_ehdr (Elf *elf GElf_Ehdr *ehdr); int
gelf_update_phdr (Elf *elf int ndx GElf_Phdr *phdr); int
gelf_update_shdr (Elf_Scn *scn GElf_Shdr *shdr);
DESCRIPTION
These functions are used to update ELF data structures on the underlying
ELF descriptor.
Class-dependent data structures in the underlying ELF descriptor
are updated using the data in the class-independent GElf descriptors
and the underlying ELF data structures are marked
``dirty''
The conversion process signals an error if the values being copied
to the target ELF data structure would exceed representation
limits.
GElf descriptors are described in
gelf(3).
Function
gelf_update_ehdr ();
updates the ELF Executable Header with the values in the
class-independent executable header
ehdr
Function
gelf_update_phdr ();
updates the ELF Program Header structure at index
ndx
with the values in the class-independent program header
phdr
Function
gelf_update_shdr ();
updates the ELF Section Header structure associated with section
descriptor
scn
with the values in argument
shdr
RETURN VALUES
These functions return a non-zero integer on success, or zero in case
of an error.
ERRORS
These functions may fail with the following errors:
Bq Er ELF_E_ARGUMENT
Arguments
elfehdrphdrscn
or
shdr
were NULL.
Bq Er ELF_E_ARGUMENT
Argument
elf
was not a descriptor for an ELF object.
Bq Er ELF_E_ARGUMENT
Argument
elf
had an unsupported ELF class.
Bq Er ELF_E_ARGUMENT
Argument
ndx
exceeded the number of entries in the program header table.
Bq Er ELF_E_ARGUMENT
Section descriptor
scn
was not associated with an ELF descriptor.
Bq Er ELF_E_MODE
ELF descriptor
elf
was not opened for writing or updating.