After six months of development, the release of the system library GNU C Library (Glibc) 2.38 has been published. This new version is fully compliant with the requirements of ISO C11 and Posix.1-2017 standards, and it incorporates corrections from 67 developers.
Some of the notable improvements in version 2.38 include:
- Added support for work on X86_64 systems with the HURD operating system. This requires at least version 2.40 of Binutils and version 13 of GCC.
- Introduced new functions strlcpy and strlcat, which serve as alternatives to the Strncpy and Strncat functions. These new functions provide protection against buffer overflow and ensure the presence of a zero-byte terminating character. The implementation of these functions has been adapted from OpenBSD, and it is expected that they will be included in the Posix standard in the future.
- Added the option “–enable-formatify-source” to assemble Glibc, which enables the “_Fortify_SOURCE” protection mode. This helps identify potential buffer overflows in string functions defined in the String.h header file.
- Added support for the vector mathematical library LibmVec for the Aarch64 architecture. The assembly of LibmVec can be disabled using the option “-disable-MathVves”.
- Enabled the use of prefixes 0B and 0B in the input parameters of various string conversion functions, such as Strtol and WCSTOL, to determine binary values. This support for binary values through prefixes 0B and 0B also extends to formatting parameters in functions like FSCANF, SC functions, and others. Additionally, these functions now also support the separate formatting parameter “%B” for binary numbers, regardless of the activation of the C2X standard.
- Added new macros Prib*, Prib*, and Scnb* to the headpes.h header, as defined in the C2x specification.
- Improved support for formatting parameters
/Reports, release notes, official announcements.