Scroll to navigation

GELF_UPDATE_PHDR(3) Libelf Programmer's Manual GELF_UPDATE_PHDR(3)

NAME

gelf_update_phdr - copy a class-independent program header table entry into an ELF descriptor

SYNOPSIS

#include <gelf.h>
int gelf_update_phdr (Elf *elf, int ndx, GElf_Phdr *src);

DESCRIPTION

gelf_update_phdr() copies the class-independent program header table entry from the structure pointed to by src into the program header table of elf at index ndx . The program header table entry is translated as necessary to match the class (ELFCLASS32 or ELFCLASS64) of the underlying object file.

If elf has class ELFCLASS32 then p_offset, p_vaddr, p_paddr, p_filesz, p_memsz, and p_align must fit within unsigned 32-bit values.

PARAMETERS

Pointer to an ELF descriptor of kind ELF_K_ELF.

Index of the program header table entry to be updated. The number of program header table entries associated with elf can be obtained with elf_getphdrnum().

Pointer to a GElf_Phdr structure that holds the caller's desired program header table entry contents. src must not be NULL.

RETURN VALUE

On success, this function returns a non-zero value and updates the program header table entry at index ndx. The program header table will be flagged with ELF_F_DIRTY. On failure, it returns 0 and sets elf_errno. If elf is NULL then 0 is returned without setting elf_errno.

SEE ALSO

elf_flagphdr(3), elf_getphdrnum(3), gelf_getphdr(3), gelf_newphdr(3), libelf(3), elf(5)

ATTRIBUTES

Interface Attribute Value
gelf_update_phdr () Thread safety MT-Safe

REPORTING BUGS

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

2025-12-27 Libelf