Hi Aaron,

On Mon, Aug 04, 2025 at 11:24:40PM -0400, Aaron Merey wrote:
> Signed-off-by: Aaron Merey <ame...@redhat.com>
> ---
> v2: fix function declaration in SYNOPSIS. Clarify that the null
> section is added automatically if absent and never returned.
> Remove comment about requiring ELF_C_WRITE or ELF_C_RDWR.
> 
>  doc/Makefile.am  |  1 +
>  doc/elf_newscn.3 | 88 ++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 89 insertions(+)
>  create mode 100644 doc/elf_newscn.3
> 
> diff --git a/doc/Makefile.am b/doc/Makefile.am
> index 217c2da1..103f9d05 100644
> --- a/doc/Makefile.am
> +++ b/doc/Makefile.am
> @@ -81,6 +81,7 @@ notrans_dist_man3_MANS= elf32_checksum.3 \
>                       elf_memory.3 \
>                       elf_ndxscn.3 \
>                       elf_newdata.3 \
> +                     elf_newscn.3 \
>                       elf_nextscn.3 \
>                       elf_rawfile.3 \
>                       elf_scnshndx.3 \

OK.

> diff --git a/doc/elf_newscn.3 b/doc/elf_newscn.3
> new file mode 100644
> index 00000000..85cf27aa
> --- /dev/null
> +++ b/doc/elf_newscn.3
> @@ -0,0 +1,88 @@
> +.TH ELF_NEWSCN 3 2025-06-30 "Libelf" "Libelf Programmer's Manual"
> +
> +.SH NAME
> +elf_newscn \- create a new section for an ELF descriptor
> +
> +.SH SYNOPSIS
> +.nf
> +#include <libelf.h>
> +
> +.BI "Elf_Scn *elf_newscn(Elf * "elf");"

OK.

> +.SH DESCRIPTION
> +The
> +.BR elf_newscn ()
> +function creates a new section descriptor for the ELF descriptor
> +.I elf.
> +
> +Each call to
> +.BR elf_newscn ()
> +appends a new section to the internal list of sections for the
> +ELF descriptor.  It also creates a corresponding empty section header,
> +which is zero-initialized and marked dirty.  If
> +.I elf
> +does not have any sections yet then
> +.B elf_newscn
> +will also create the null section with
> +.I sh_type
> +.B SHT_NULL
> +at section index 0.
> +
> +A newly created section has no name or type and must be properly initialized
> +before calling
> +.BR elf_update ().
> +Use
> +.BR elf32_getshdr ()
> +or
> +.BR elf64_getshdr ()
> +to obtain the section header structure, then populate the required fields.
> +Use
> +.BR elf_newdata ()
> +to associate one or more data buffers with the new section.
> +
> +The section with index 0 (the null section) is reserved and cannot have
> +data added to it.
> +.BR elf_newscn ()
> +will never return this section.

OK.

> +.SH PARAMETERS
> +.TP
> +.I elf
> +An ELF descriptor that must at least have an
> +.I Elf32_Ehdr
> +or
> +.I Elf64_Ehdr
> +associated with it.

OK.

> +.SH RETURN VALUE
> +On success,
> +.BR elf_newscn ()
> +returns a pointer to a new section descriptor. On failure, it returns NULL
> +and sets elf_errno.  If
> +.I elf
> +is NULL, then NULL is returned without setting elf_errno.

OK.

> +.SH SEE ALSO
> +.BR elf32_getshdr (3),
> +.BR elf64_getshdr (3),
> +.BR elf_getdata (3),
> +.BR elf_newdata (3),
> +.BR elf_update (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_newscn ()
> +T}   Thread safety   MT-Safe
> +.TE
> +
> +.SH REPORTING BUGS
> +Report bugs to <elfutils-devel@sourceware.org> or 
> https://sourceware.org/bugzilla/.

OK.

Thanks,

Mark

Reply via email to