GNU C Library 2.36 Released With New Functions, More Optimizations
GNU C Library 2.36 brings a number of new functions to match functionality exposed by newer versions of the Linux kernel, various optimizations to existing functions, the Chinese LoongArch CPU architecture from Loongson is being introduced, and more. The Glibc 2.36 highlights include:
- The fsopen, fsmount, move_mount, fsconfig, fspick, open_tree, and mount_setattr functions have been added that correspond to the Linux kernel's new mount APIs.
- The arc4random, arc4random_buf, and arc4random_uniform functions have been added similar to what has long been available on the BSDs. These arc4random functions wrap getrandom and /dev/urandom for high quality randomness from the kernel.
- Support for the LoongArch 64-bit CPU architecture on Linux.
- Glibc on Linux now supports the pidfd_open, pidfd_getfd, and pidfd_send_signal functions. Glibc on Linux also now supports the process_madvise function.
- The process_mrelease function has been added to release the memory of a dying process using the caller's CPU affinity and priority with CPU usage accounted to the caller.
- The "no-aaaa" DNS stub resolver has been added to suppress AAAA queries made by the stub resolver.
- Support for the "DT_RELR" relative relocation format for improving the size of relative relocations in shared objects and position independent executables.
- Dropping various SSSE3 optimizations.
- Arm SVE-optimized memory copy.
- AVX2 and EVEX optimized versions of strncasecmp and strcasecmp.
- Many bug fixes.
Downloads and more details for the GNU C Library 2.36 via the release announcement. It's quite a healthy update for the project's usual half-year release cadence.