Index: share/man/man5/elf.5 =================================================================== --- share/man/man5/elf.5 +++ share/man/man5/elf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 25, 2022 +.Dd May 16, 2025 .Dt ELF 5 .Os .Sh NAME @@ -915,7 +915,7 @@ The attribute used is .Sy SHF_ALLOC . .It .fini -This section holds executable instructions that contribute to the process +This legacy section holds executable instructions that contribute to the process termination code. When a program exits normally the system arranges to execute the code in this section. @@ -925,6 +925,18 @@ .Sy SHF_ALLOC and .Sy SHF_EXECINSTR . +.It .fini_array +This section holds pointers to finalization routines. +When a program exits normally +.Xr rtld 1 +executes the code referenced by this section. +The +.Dv NT_FREEBSD_NOINIT_TAG +ELF note enables this functionality. +This section is of type +.Sy SHT_FINI_ARRAY . +The attributes used are +.Sy SHF_ALLOC . .It .got This section holds the global offset table. This section is of type @@ -937,7 +949,7 @@ The attribute used is .Sy SHF_ALLOC . .It .init -This section holds executable instructions that contribute to the process +This legacy section holds executable instructions that contribute to the process initialization code. When a program starts to run the system arranges to execute the code in this section before calling the main program entry point. @@ -947,6 +959,19 @@ .Sy SHF_ALLOC and .Sy SHF_EXECINSTR . +.It .init_array +This section holds pointers to initialization routines. +When a program starts to run +.Xr rtld 1 +executes the code referenced by this section before calling the main program +entry point. +The +.Dv NT_FREEBSD_NOINIT_TAG +ELF note enables this functionality. +This section is of type +.Sy SHT_INIT_ARRAY . +The attributes used are +.Sy SHF_ALLOC . .It .interp This section holds the pathname of a program interpreter. If the file has