GELF\_CHECKSUM(3) Libelf Programmer's Manual GELF\_CHECKSUM(3)

# [NAME](#NAME)

gelf\_checksum - compute the checksum for an ELF object file

# [SYNOPSIS](#SYNOPSIS)

```
#include <gelf.h>
long int gelf_checksum (Elf *elf);
```

# [DESCRIPTION](#DESCRIPTION)

Compute a checksum for the ELF object file referred to by *elf*. This function acts as a wrapper around **elf32\_checksum**() and **elf64\_checksum**(). The binary class of *elf* is used to automatically select between **elf32\_checksum**() and **elf64\_checksum**().

The checksum is computed from permanent parts of the ELF file and the result is repeatable. To be repeatable, strippable sections are not included in computing the checksum. **SHT\_NOBITS** sections are also not included when computing the checksum. The checksum can be used as a value for **DT\_CHECKSUM**.

# [PARAMETERS](#PARAMETERS)

[*elf*](#elf)

The ELF object file for which the checksum is to be computed.

# [RETURN VALUE](#RETURN_VALUE)

On success, return the computed checksum. On failure, return -1 and set elf\_errno. If *elf* is NULL then -1 is returned without setting elf\_errno.

The checksum is always calculated as a 4-byte value. If *long int* is larger than 4 bytes, then the checksum will be extended by padding with zeros.

# [SEE ALSO](#SEE_ALSO)

[**elf32\_checksum**(3)](/man/os/elfutils/elf32_checksum.3), [**elf64\_checksum**(3)](/man/os/elfutils/elf64_checksum.3), [**libelf**(3)](/man/os/elfutils/libelf.3), [**elf**(5)](/man/os/elfutils/elf.5)

# [ATTRIBUTES](#ATTRIBUTES)

**Interface** **Attribute** **Value** gelf\_checksum () Thread safety MT-Safe

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to &lt;elfutils-devel@sourceware.org&gt; or https://sourceware.org/bugzilla/.

2025-12-31 Libelf

---

Document: gelf_checksum(3) from elfutils 0.196-r0 (Chainguard OS)
Source: https://sourceware.org/git/elfutils.git
