Signed-off-by: Aaron Merey <[email protected]>
---
v2: mention that base offset returned is always 0 for non ELF_K_AR
kinds. Also mention elf_getaroff and elf_rawelf.
doc/Makefile.am | 1 +
doc/elf_getbase.3 | 59 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 60 insertions(+)
create mode 100644 doc/elf_getbase.3
diff --git a/doc/Makefile.am b/doc/Makefile.am
index e6f877c4..00cdc253 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -55,6 +55,7 @@ notrans_dist_man3_MANS= elf32_checksum.3 \
elf_errmsg.3 \
elf_errno.3 \
elf_fill.3 \
+ elf_getbase.3 \
elf_getdata.3 \
elf_getscn.3 \
elf_ndxscn.3 \
diff --git a/doc/elf_getbase.3 b/doc/elf_getbase.3
new file mode 100644
index 00000000..493d7a54
--- /dev/null
+++ b/doc/elf_getbase.3
@@ -0,0 +1,59 @@
+.TH ELF_GETBASE 3 2025-03-31 "Libelf" "Libelf Programmer's Manual"
+
+.SH NAME
+elf_getbase \- Retrieve the base offset for an ELF object file.
+
+.SH SYNOPSIS
+.B #include <libelf.h>
+
+.BI "int64_t elf_getbase(Elf *" elf ");"
+
+.SH DESCRIPTION
+.B elf_getbase
+returns the file offset of the first byte of the ELF descriptor
+.IR elf .
+If
+.I elf
+is a member of an archive and has ELF kind
+.BR ELF_K_AR ,
+the base offset is the offset of the ELF object within the archive.
+For other ELF object types the base offset is 0.
+
+.SH PARAMETERS
+.TP
+.I elf
+The ELF descriptor.
+
+.SH RETURN VALUE
+Return the base offset of
+.IR elf
+if its ELF kind is
+.BR ELF_K_AR ,
+otherwise return 0. If
+.I elf
+is NULL, return -1.
+
+.SH SEE ALSO
+.BR elf_getaroff (3),
+.BR elf_rawelf (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 elf_getbase ()
+T} Thread safety MT-Safe
+.TE
+
+.SH REPORTING BUGS
+Report bugs to <[email protected]> or
https://sourceware.org/bugzilla/.
--
2.49.0