--- /dev/null
+.TH ELF32_NEWEHDR 3 2024-08-14 "Libelf" "Libelf Programmer's Manual"
+
+.SH NAME
+elf32_newehdr, elf64_newehdr \- create a new ELF header for a 32-bit or
+64-bit ELF object file
+
+.SH SYNOPSIS
+.nf
+.B #include <libelf.h>
+
+.BI "Elf32_Ehdr *elf32_newehdr(Elf *" elf ");"
+.BI "Elf64_Ehdr *elf64_newehdr(Elf *" elf ");"
+
+.SH DESCRIPTION
+This function initializes a new ELF header and associates it with
+.IR elf .
+If
+.I 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
+.B elf_newscn
+or
+.BR elf_newphdr .
+
+.SH PARAMETERS
+.TP
+.I elf
+ELF descriptor for which a new ELF header is to be created.
+
+.SH RETURN VALUE
+On success, return a pointer to the newly created ELF header. If
+.I 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.
+
+.SH SEE ALSO
+.BR elf_errno (3),
+.BR libelf (3),
+.BR elf (5)
+
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR elf32_newehdr (),
+.BR elf64_newehdr ()
+T} Thread safety MT-Safe
+.TE
+
+.SH REPORTING BUGS
+Report bugs to <elfutils-devel@sourceware.org> or https://sourceware.org/bugzilla/.