]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
doc: Add elf_memory.3
authorAaron Merey <amerey@redhat.com>
Sun, 14 Sep 2025 23:21:00 +0000 (19:21 -0400)
committerAaron Merey <amerey@redhat.com>
Tue, 16 Sep 2025 20:56:06 +0000 (16:56 -0400)
Signed-off-by: Aaron Merey <amerey@redhat.com>
doc/Makefile.am
doc/elf_memory.3 [new file with mode: 0644]

index 81566664f316b81ad0bae1d53bff3440f3a67148..96d35d201cf08004eeddc97ab02ae38b2a6f0ad1 100644 (file)
@@ -78,6 +78,7 @@ notrans_dist_man3_MANS= elf32_checksum.3 \
                        elf_hash.3 \
                        elf_gnu_hash.3 \
                        elf_kind.3 \
+                       elf_memory.3 \
                        elf_ndxscn.3 \
                        elf_newdata.3 \
                        elf_newscn.3 \
diff --git a/doc/elf_memory.3 b/doc/elf_memory.3
new file mode 100644 (file)
index 0000000..8f4efce
--- /dev/null
@@ -0,0 +1,85 @@
+.TH ELF_MEMORY 3 2025-06-23 "Libelf" "Libelf Programmer's Manual"
+
+.SH NAME
+elf_memory \- create an ELF descriptor from a memory buffer
+.SH SYNOPSIS
+.nf
+#include <libelf.h>
+
+.B Elf * elf_memory(char *" image ", size_t" size ");
+
+.fi
+.SH DESCRIPTION
+The
+.BR elf_memory ()
+function creates a new ELF descriptor from a memory region containing an ELF
+object.  This function is used when the ELF data is already present in memory
+rather than being read from a file descriptor.
+
+The memory pointed to by
+.I image
+must contain a complete ELF file or archive. The contents must remain valid
+and unmodified for the lifetime of the resulting ELF descriptor.
+
+The ELF descriptor returned by
+.BR elf_memory ()
+is opened in read-only mode using ELF_C_READ_MMAP_PRIVATE (see
+.BR elf_begin ).
+The underlying memory image should not be directly modified by the application 
+while its ELF descriptor is open.  Some libelf functions, such as
+.BR elf_compress ()
+and
+.BR gelf_update_* (),
+may internally modify the underlying image and therefore require that the
+underlying image be writable.  The use of a read-only image (e.g., memory
+mapped with
+.BR PROT_READ
+only) may result in failures or crashes. 
+
+.SH PARAMETERS
+.TP
+.I image
+A pointer to a memory buffer that contains the complete contents of an ELF file
+or archive. If NULL, this function fails and returns NULL.
+
+.TP
+.I size
+The size in bytes of the memory region pointed to by
+.IR image .
+Must be at least as much as a full ELF header and should cover the entire ELF
+object.
+
+.SH RETURN VALUE
+On success,
+.BR elf_memory ()
+returns a pointer to an
+.B Elf
+descriptor representing the archive or ELF file contained in
+.IR image .
+
+On failure, it returns NULL and sets an error code retrievable by
+.BR elf_errmsg (3).
+
+
+.SH SEE ALSO
+.BR elf_begin (3),
+.BR elf_errmsg (3),
+.BR libelf (3),
+.BR elf (5) 
+
+.SH ATTRIBUTES
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface       Attribute       Value
+T{
+.na
+.nh
+.BR elf_memory ()
+T}      Thread safety   MT-Safe
+.TE
+
+.SH REPORTING BUGS
+Report bugs to <elfutils-devel@sourceware.org> or https://sourceware.org/bugzilla/.
+