Signed-off-by: Aaron Merey <ame...@redhat.com> --- 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 <elfutils-devel@sourceware.org> or https://sourceware.org/bugzilla/. -- 2.49.0