ELF32_GETSHDR(3)
β¨ ELF32_GETSHDR(3) β¨
okay bestie, welcome to the Libelf Programmer's Manual π this one is short, sweet, and lowkey iconic, so let's go
πΈ NAME πΈ
elf32_getshdr, elf64_getshdr β grab the section header for a section in a 32-bit or 64-bit ELF object file π
π¦ SYNOPSIS π¦
#include <libelf.h>
Elf32_Shdr *elf32_getshdr(Elf_Scn *scn);
Elf64_Shdr *elf64_getshdr(Elf_Scn *scn);
π DESCRIPTION π
So basically you call this and it retrieves the section header for the section that scn is pointing at. That's it. That's the whole vibe. π«Ά
but listen, this part matters: if the section header you retrieved gets modified, you have to callelf_flagshdrwithELF_C_SETandELF_F_DIRTY, otherwise your modified section header is not going to disk. it's giving "I edited it but nothing saved" π do not be that girl.
π PARAMETERS π
scnβ the section descriptor whose section header you're trying to retrieve. that's the one. β¨
β RETURN VALUE β
- On success: a pointer to the section header, slay π«
- If
scnisNULL: you getNULLback. no drama, justNULL. - If an error happens: you get
NULLand a libelf error code gets set. π
π SEE ALSO π
π ATTRIBUTES π
if you wanna know what these terms even mean, go check attributes(7) β it explains it all π
elf32_getshdr(),elf64_getshdr()β Thread safety: MT-Safe π₯
π REPORTING BUGS π
found a bug? don't suffer in silence, tell the people:
- email
<elfutils-devel@sourceware.org>π - or hit up
https://sourceware.org/bugzilla/π
and that's the whole page, bestie. go forth and get those section headers. periodt. π β¨
this lil masterpiece is from Libelf, dated 2024-08-14 β mwah, sending you off with a kiss and a 2024-08-14 timestamp ππ¦
π¦ 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