gelf_update_rel - Man Page

copy class-independent relocation entries into a relocation section

Synopsis

#include <gelf.h>

int gelf_update_rel (Elf_Data *data, int ndx, GElf_Rel  *src);
int gelf_update_rela(Elf_Data *data, int ndx, GElf_Rela *src);

Description

The gelf_update_rel() and gelf_update_rela() functions copy a class-independent REL or RELA relocation entry from *src into the SHT_REL or SHT_RELA section associated with data at entry index ndx.

Parameters

data

Elf_Data for a relocation section.  The section must have sh_type SHT_REL for gelf_update_rel() or SHT_RELA for gelf_update_rela().

ndx

Zero-based index of the relocation entry within data.

src

Pointer to the caller-provided source entry: GElf_Rel for gelf_update_rel() and GElf_Rela for gelf_update_rela(). src must not be NULL.

For ELFCLASS32 binaries, r_offset should fit in unsigned 32 bits. r_addend should fit in signed 32 bits.  The GELF_R_SYM component of r_info should fit in 24 bits and the GELF_R_TYPE component should fit in 8 bits.

Return Value

On success, gelf_update_rel() and gelf_update_rela() copy src into data, flag the corresponding section with ELF_F_DIRTY and return a non-zero value.  On failure, these functions return 0 and set elf_errno.  If src is NULL, then 0 is returned without setting elf_errno.

See Also

gelf_getrel(3), gelf_getrela(3), libelf(3), elf(5)

Attributes

InterfaceAttributeValue
gelf_update_rel(), gelf_update_rela()Thread safetyMT-Safe

Reporting Bugs

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

Referenced By

gelf_getrel(3).

The man page gelf_update_rela(3) is an alias of gelf_update_rel(3).

2025-09-27 Libelf Programmer's Manual