Hi Aaron, On Mon, Aug 04, 2025 at 11:24:41PM -0400, Aaron Merey wrote: > Signed-off-by: Aaron Merey <ame...@redhat.com> > --- > v2: Some rewording. Also remove comment about elf_rand affecting > subsequent calls to elf_next. I will post a patch that prevents this > behavior.
Thanks, that patch is now in. commit cc459edf "elf_getarhdr: Replace per-archive Elf_Arhdr storage with per-member storage" > doc/Makefile.am | 1 + > doc/elf_rand.3 | 71 +++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 72 insertions(+) > create mode 100644 doc/elf_rand.3 > > diff --git a/doc/Makefile.am b/doc/Makefile.am > index 103f9d05..f1e074f9 100644 > --- a/doc/Makefile.am > +++ b/doc/Makefile.am > @@ -83,6 +83,7 @@ notrans_dist_man3_MANS= elf32_checksum.3 \ > elf_newdata.3 \ > elf_newscn.3 \ > elf_nextscn.3 \ > + elf_rand.3 \ > elf_rawfile.3 \ > elf_scnshndx.3 \ > elf_strptr.3 \ OK. > diff --git a/doc/elf_rand.3 b/doc/elf_rand.3 > new file mode 100644 > index 00000000..5c07a920 > --- /dev/null > +++ b/doc/elf_rand.3 > @@ -0,0 +1,71 @@ > +.TH ELF_RAND 3 2025-06-30 "Libelf" "Libelf Programmer's Manual" > + > +.SH NAME > +elf_rand - Set the offset for the next archive member in an ELF file. > + > +.SH SYNOPSIS > +.nf > +#include <libelf.h> > + > +.BI "size_t elf_rand(Elf *" elf ", size_t " offset ");" > +.fi OK. > +.SH DESCRIPTION > +The > +.BR elf_rand () > +function sets the current archive member offset for the ELF archive > descriptor > +.I elf > +to > +.IR offset . > + > +This function is only valid when > +.I elf > +refers to an archive descriptor (i.e., its kind is > +.BR ELF_K_AR ). > + > +Archive member offsets can be acquired from the > +.I Elf_Arsym > +array returned by > +.BR elf_getarsym (3). > + > +If the archive header at the given offset cannot be parsed or validated, > +then 0 is returned. OK. > +.SH PARAMETERS > +.TP > +.I elf > +A pointer to an ELF archive descriptor. > + > +.TP > +.I offset > +A byte offset to the archive header, indicating the desired member position. OK. > +.SH RETURN VALUE > +Returns the input > +.I offset > +if successful. Returns 0 if > +.I elf > +is NULL, is not an archive descriptor, or if an error occurs while reading > the member at > +.IR offset . OK. > +.SH SEE ALSO > +.BR elf_getarsym (3), > +.BR elf_next (3), > +.BR libelf (3), > +.BR elf (5) OK. > +.SH ATTRIBUTES > +.TS > +allbox; > +lbx lb lb > +l l l. > +Interface Attribute Value > +T{ > +.na > +.nh > +.BR elf_rand () > +T} Thread safety MT-Safe > +.TE > + > +.SH REPORTING BUGS > +Report bugs to <elfutils-devel@sourceware.org> or > https://sourceware.org/bugzilla/. OK. Thanks, Mark