ELF32_NEWEHDR(3)
π ELF32_NEWEHDR π
okay bestie, welcome to the elf32_newehdr / elf64_newehdr page from the Libelf Programmer's Manual β manual section 3, iykyk. this is where you manifest a brand new ELF header, no cap.
β¨ NAME β¨
elf32_newehdr, elf64_newehdr β create a new ELF header for a 32-bit or 64-bit ELF object file π¦
β¨ SYNOPSIS β¨
#include <libelf.h>
Elf32_Ehdr *elf32_newehdr(Elf *elf);
Elf64_Ehdr *elf64_newehdr(Elf *elf);
β¨ DESCRIPTION β¨
so this function initializes a new ELF header and associates it with elf. π
and listen β if elf already has an ELF header associated with it, no new header will be created and the existing header will be returned instead. like, it's not gonna make a second one, that's not the vibe. it just hands you the one you already have. π«Ά
β οΈ important bestie: an ELF header must be present before callingelf_newscnorelf_newphdr. no header, no service. periodt.
β¨ PARAMETERS β¨
elfβ the ELF descriptor for which a new ELF header is to be created. that's the one getting a glow-up. β¨
β¨ RETURN VALUE β¨
- on success, it returns a pointer to the newly created ELF header. π
- if
elfalready has an ELF header associated with it, this pre-existing header is returned and no new header is created β same energy, no dupe. - on failure, it returns
NULLand sets a libelf error code. π
β¨ SEE ALSO β¨
β¨ ATTRIBUTES β¨
for an explanation of the terms used in this section, see attributes(7). π
- Interface:
elf32_newehdr(),elf64_newehdr()- Attribute: Thread safety
- Value:
MT-Safe
so yeah, she's MT-Safe, she can hang in multithreaded spaces, no problem. π₯
β¨ REPORTING BUGS β¨
found a bug? spill. report bugs to <elfutils-devel@sourceware.org> or at https://sourceware.org/bugzilla/. ππ
and that's the whole page bestie β written by the Libelf crew, version dated 2024-08-14, and yeah the footer still says Libelf and ELF32_NEWEHDR(3) because the classics never miss. mwah, go make some headers. π
β¨
π¦ where this page comes from
- alpine 3.22: elfutils-doc 0.193-r0 Β· GPL-3.0-or-later AND ( GPL-2.0-or-later OR LGPL-3.0-or-later )
- alpine 3.23: elfutils-doc 0.194-r0 Β· GPL-3.0-or-later AND ( GPL-2.0-or-later OR LGPL-3.0-or-later )
- alpine 3.24: elfutils-doc 0.195-r0 Β· GPL-3.0-or-later AND ( GPL-2.0-or-later OR LGPL-3.0-or-later )
- arch rolling: libelf 0.196-1
- arch rolling: libelf 0.197-1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- centos-stream 10: elfutils-libelf-devel 0.197-1.el10 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- centos-stream 9: elfutils-libelf-devel 0.197-1.el9 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- centos-stream 9: elfutils-libelf-devel 0.197-1.el9 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- debian trixie: libelf-dev 0.192-4 Β· GPL-3.0-or-later
- fedora 43: elfutils-libelf-devel 0.193-3.fc43 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 43: elfutils-libelf-devel 0.193-3.fc43 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 43: elfutils-libelf-devel 0.196-1.fc43
- fedora 43: elfutils-libelf-devel 0.196-1.fc43
- fedora 43: elfutils-libelf-devel 0.197-1.fc43 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 43: elfutils-libelf-devel 0.197-1.fc43 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 44: elfutils-libelf-devel 0.194-5.fc44 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 44: elfutils-libelf-devel 0.194-5.fc44 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 44: elfutils-libelf-devel 0.196-1.fc44
- fedora 44: elfutils-libelf-devel 0.196-1.fc44
- fedora 44: elfutils-libelf-devel 0.197-1.fc44 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- fedora 44: elfutils-libelf-devel 0.197-1.fc44 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- nixos 26.05: elfutils 0.194
- nixpkgs unstable: elfutils 0.195
- opensuse-leap 16.0: libelf-devel 0.192-160000.3.1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- opensuse-leap 16.0: libelf-devel 0.192-160000.3.1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- opensuse-leap 16.0: libelf-devel 0.192-160000.3.1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- opensuse-leap 16.0: libelf-devel 0.192-160000.3.1 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- ubuntu questing: libelf-dev 0.193-1
- ubuntu resolute: libelf-dev 0.194-4 Β· GPL-3.0-or-later
- ubuntu stonking: libelf-dev 0.196-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms