---
name: "elf64_checksum"
section: "3"
platform: "linux"
package: "libelf"
version: "0.197-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/elf32_checksum"
---

# elf64\_checksum(3)

compute the checksum for a 32-bit or 64-bit ELF object file

Part of [elf32\_checksum(3)](/elf32_checksum/3.md).

## NAME

elf32\_checksum, elf64\_checksum - compute the checksum for a 32-bit or 64-bit ELF object file

## SYNOPSIS

```
#include <libelf.h>
long int elf32_checksum(Elf *elf);
long int elf64_checksum(Elf *elf);
```

## DESCRIPTION

Compute a checksum for the ELF object file referred to by *elf*. 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

- *elf*

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

## RETURN VALUE

On success, return the computed checksum. If an error occurs, return -1 and set a libelf error code.  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

[**elf\_errno**(3)](/elf_errno/3.md), [**libelf**(3)](/libelf/3.md), [**elf**(5)](/elf/5.md)

## ATTRIBUTES

For an explanation of the terms used in this section, see [**attributes**(7)](/attributes/7.md).

| | | |
| --- | --- | --- |
| **Interface** | **Attribute** | **Value** |
| **elf32\_checksum**(), **elf64\_checksum**() | Thread safety | MT-Safe |

## REPORTING BUGS

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