Issue of GLIBC 2.36 system library system

After six months of development published the release of the system library GNU C Library (Glibc) 2.36 , which completely follows the requirements of ISO C11 and Posix.1-2017 standards. The new issue includes corrections from 59 developers.

from the 2.36 improvements can be noted :

  • Added support for a new format of relative movements of the addresses DT_RELR (Relative RELOCATION), which reduces the size of relative movements in the separated objects and executable files, combined in the mode with pie (Position -independent Executables). To use the DT_RELR field in ELF files, support for the -z Pack-RELATIVE-RELOCS option is necessary in the compoter, which appeared in the release of the Binutils 2.38.
  • set.

  • The Linux platform is implemented PIDFD_OPEN, PIDFD_GETFD and PIDFD_SEND_SIGNAL, which provides access to the PIDFD functionality that helps to process PIDs for a more accurate identification of processes facing tracking files (PIDFD is associated with a specific process and does not change, at the time How PID can be attached to another process after the completion of the current process associated with this PID).
  • For the Linux platform, the Process_madvise () function, which allows one process to perform a system call Madvise () on behalf of another process, identifying the target process using PIDFD. Through Madvise (), you can inform the core about the features of memory work to optimize the process control of the process, for example, on the basis of conveyed information, the core can initiate the release of additional free memory. Calling Madvise () Another process may be required in a situation where the information necessary for optimization is unknown to the current process, and is coordinated by a separate background control process that can independently initiate the seizure of unused memory from the processes.
  • For the Linux platform, the Process_mrelease () function has been added to accelerate the release of the memory of the process that completes its implementation. Under normal conditions, the release of resources and the completion of the process is not instantly and, for various reasons, may be delayed, which interferes with the work of the user’s functioning systems of early response to a lack of memory, such as OOMD (provided in Systemd). By calling Process_mrelease, such systems can more predictably initiate the return of memory from forcedly completed processes.
/Media reports.