After six months of development released system library release GNU C Library (glibc) 2.33 , which fully follows the requirements of ISO C11 and POSIX.1-2017 standards. The new release includes fixes from 72 developers.
Of the implemented in Glibc 2.33 improvements :
- The dynamic linker, which is responsible for dynamically loading and linking shared libraries at program startup, supports loading optimized implementations of shared objects from glibc-hwcaps subdirectories created in FS regions searched for libraries. Currently implemented subdirectories “x86-64-v2”, “x86-64-v3” and “x86-64-v4” for architecture x86_64-linux-gnu, “power9” and “power10” for architecture powerpc64le-linux-gnu , “z13”, “z14” and “z15” for s390x-linux-gnu. For x86_64-linux-gnu architecture, the subdirectory name is chosen depending on the version psABI .
- Also added flags to the linker: “–list-tunables” to output all supported internal settings the behavior of Glibc, “–argv0” to change the line argv [0], which contains the name of the current executable file, and “–help” to display hints and information about the file paths being checked.
- Added mallinfo2 function, which also how mallinfo displays statistics about memory allocation, but with a large field size to allow displaying values, do not fit into an integer type.
- Added header file with macros for testing x86 CPU functionality.
- Added support for 32-bit systems based on the RISC-V instruction set architecture (ISA rv32imac, rv32imafdc and rv32imafdc). The 32-bit RISC-V port requires at least Linux 5.4, GCC 7.1, and binutils 2.28 to run. 64-bit RISC-V port is supported since Glibc 2.27.
- A new protection mode “_FORTIFY_SOURCE = 3” has been added, designed to detect during compilation and during operation possible buffer overflows when executing string functions defined in the header file string.h. The difference from the “_FORTIFY_SOURCE = 2” mode is reduced to additional checks, which can potentially lead to performance degradation. On the compiler side, the mode is currently only supported in LLVM 9 (not yet implemented in GCC).
- The mallinfo function has been deprecated. Removed vtimes function (stub left to maintain compatibility) and header file.
/Media reports.