GELF_CHECKSUM(3)

NAME
elf32_checksum, elf64_checksum, gelf_checksum - return the checksum of an ELF object

LIBRARY
libelf

SYNOPSIS
#include <libelf.h>
long
elf32_checksum(Elf *elf);
long
elf64_checksum(Elf *elf);
#include <gelf.h>
long
gelf_checksum(Elf *elf);

DESCRIPTION
These functions return a simple checksum of the ELF object described by their argument elf. The checksum is computed in way that allows its value to remain unchanged in presence of modifications to the ELF object by utilities like strip(1).

Function elf32_checksum() returns a checksum for an ELF descriptor elf of class ELFCLASS32.

Function elf64_checksum() returns a checksum for an ELF descriptor elf of class ELFCLASS64.

Function gelf_checksum() provides a class-independent way retrieving the checksum for ELF object elf.

RETURN VALUES
These functions return the checksum of the ELF object, or zero in case an error was encountered.

ERRORS
These functions may fail with the following errors:

[ELF_E_ARGUMENT]
    Argument elf was NULL.

[ELF_E_ARGUMENT]
    Argument elf was not a descriptor for an ELF file.

[ELF_E_ARGUMENT]
    The ELF descriptor elf was not opened for reading or updating.

[ELF_E_CLASS]
    For functions elf32_checksum() and elf64_checksum(), ELF descriptor elf did not match the class of the called function.

[ELF_E_HEADER]
    The ELF object specified by argument elf had a malformed executable header.

[ELF_E_RESOURCE]
    An out of memory condition was detected during processing.

[ELF_E_SECTION]
    The ELF object specified by argument elf contained a section with a malformed section header.

[ELF_E_VERSION]
    The ELF object was of an unsupported version.

SEE ALSO
strip(1), elf(3), gelf(3)