ELF32\_NEWEHDR(3) Libelf Programmer's Manual ELF32\_NEWEHDR(3)

# [NAME](#NAME)

elf32\_newehdr, elf64\_newehdr - create a new ELF header for a 32-bit or 64-bit ELF object file

# [SYNOPSIS](#SYNOPSIS)

```
#include <libelf.h>
Elf32_Ehdr *elf32_newehdr(Elf *elf);
Elf64_Ehdr *elf64_newehdr(Elf *elf);
```

# [DESCRIPTION](#DESCRIPTION)

This function initializes a new ELF header and associates it with *elf*. If *elf* already has an ELF header associated with it, no new header will be created and the existing header will be returned. An ELF header must be present before calling **elf\_newscn** or **elf\_newphdr**.

# [PARAMETERS](#PARAMETERS)

[*elf*](#elf)

ELF descriptor for which a new ELF header is to be created.

# [RETURN VALUE](#RETURN_VALUE)

On success, return a pointer to the newly created ELF header. If *elf* already has an ELF header associated with it, this pre-existing header is returned and no new header is created. On failure, return NULL and set a libelf error code.

# [SEE ALSO](#SEE_ALSO)

[**elf\_errno**(3)](/man/os/elfutils/elf_errno.3), [**libelf**(3)](/man/os/elfutils/libelf.3), [**elf**(5)](/man/os/elfutils/elf.5)

# [ATTRIBUTES](#ATTRIBUTES)

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

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

# [REPORTING BUGS](#REPORTING_BUGS)

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

2024-08-14 Libelf

---

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