Author:
Source
The GNU C Library
=================
The GNU C Library version 2.37 is now available.
The GNU C Library is used as the C library in the GNU system and
in GNU/Linux systems, as well as many other systems that use Linux
as the kernel.
The GNU C Library is primarily designed to be a portable
and high performance C library. It follows all relevant
standards including ISO C11 and POSIX.1-2017. It is also
internationalized and has one of the most complete
internationalization interfaces known.
The GNU C Library webpage is at http://www.gnu.org/software/libc/
Packages for the 2.37 release may be downloaded from:
http://ftpmirror.gnu.org/libc/
http://ftp.gnu.org/gnu/libc/
The mirror list is at http://www.gnu.org/order/ftp.html
Distributions are encouraged to track the release/* branches
corresponding to the releases they are using. The release
branches will be updated with conservative bug fixes and new
features while retaining backwards compatibility.
NEWS for version 2.37
=====================
Major new features:
- The getent tool now supports the –no-addrconfig option. The output of
getent with –no-addrconfig may contain addresses of families not
configured on the current host i.e. as-if you had not passed
AI_ADDRCONFIG to getaddrinfo calls.
Deprecated and removed features, and other changes affecting compatibility:
- The dynamic linker no longer loads shared objects from the “tls”
subdirectories on the library search path or the subdirectory that
corresponds to the AT_PLATFORM system name, or employs the legacy AT_HWCAP
search mechanism, which was deprecated in version 2.33.
Security related changes:
CVE-2022-39046: When the syslog function is passed a crafted input
string larger than 1024 bytes, it reads uninitialized memory from the
heap and prints it to the target log file, potentially revealing a
portion of the contents of the heap.
The following bugs are resolved with this release:
[12154] network: Cannot resolve hosts which have wildcard aliases
[12165] libc: readdir: Do not skip entries with zero d_ino values
[19444] build: build failures with -O1 due to -Wmaybe-uninitialized
[24774] nptl: pthread_rwlock_timedwrlock stalls on ARM
[24816] nss: nss/tst-nss-files-hosts-long fails when no interface has
AF_INET6 address (ie docker)
[27087] stdio: PowerPC: Redefinition error with Clang from IEEE
redirection headers
[28846] network: CMSG_NXTHDR may trigger -Wstrict-overflow warning
[28937] dynamic-link: New DSO dependency sorter does not put new map
first if in a cycle
[29249] libc: csu/libc-tls.c:202: undefined reference to
`_startup_fatal_not_constant’
[29305] network: Inefficient buffer space usage in nss_dns for
gethostbyname and other functions
[29375] libc: don’t hide MAP_ANONYMOUS behind _GNU_SOURCE
[29402] nscd: nscd: No such file or directory
[29415] nscd: getaddrinfo with AI_ADDRCONFIG returns addresses with
wrong family
[29427] dynamic-link: Inconsistency detected by ld.so: dl-printf.c:
200: _dl_debug_vdprintf: Assertion `! “invalid format specifier”‘
failed!
[29463] math: math/test-float128-y1 fails on x86_64
[29485] build: Make hangs when the test misc/tst-pidfile returns
FAIL_UNSUPPORTED
[29490] dynamic-link: [bisected] new __brk_call causes dynamic loader
segfault on alpha
[29499] build: Check failed on misc/tst-glibcsyscalls while building
for RISCV64 on a unmatched hardware
[29501] build: Check failed on stdlib/tst-strfrom while building for
RISCV64 on a unmatched hardware
[29502] libc: alpha sys/acct.h out of date
[29514] build: Need to use -fPIE not -fpie
[29528] dynamic-link: __libc_early_init not called after dlmopen that
reuses namespace
[29536] libc: syslog fail to create large messages (CVE-2022-39046)
[29537] libc: [2.34 regression]: Alignment issue on m68k when using
futexes on qemu-user
[29539] libc: LD_TRACE_LOADED_OBJECTS changed how vDSO library are
printed
[29544] libc: Regression in syslog(3) calls breaks RFC due to extra
whitespace
[29564] build: Incorrect way to change MAKEFLAGS in Makerules
[29576] build: librtld.os: in function `_dl_start_profile’:
(.text+0x9444): undefined reference to `strcpy’
[29578] libc: Definition of SUN_LEN() is wrong
[29583] build: iconv failures on 32bit platform due to missing large
file support
[29600] dynamic-link: dlmopen hangs after loading certain libraries
[29604] localedata: Update locale data to Unicode 15.0.0
[29605] nscd: Regression in NSCD backend of getaddrinfo
[29607] nscd: nscd repeatably crashes calling __strlen_avx2 when hosts
cache is enabled
[29611] string: Optimized AVX2 string functions unconditionally use
BMI2 instructions
[29624] malloc: errno is not cleared when entering main
[29638] libc: stdlib: arc4random fallback is never used
[29657] libc: Incorrect struct stat for 64-bit time on linux/generic
platforms
[29698] build: Configuring for AArch32 on ARMv8+ disables
optimizations
[29727] locale: __strtol_internal out-of-bounds read when parsing
thousands grouping
[29730] libc: broken y2038 support in fstatat on MIPS N64
[29746] libc: ppoll() does not switch to __ppoll64 when
-D_TIME_BITS=64 and -D_FORTIFY_SOURCE=2 is given on 32bit
[29771] libc: Restore IPC_64 support in sysvipc *ctl functions
[29780] build: possible parallel make issue in glibc-2.36 (siglist-
aux.S: No such file or directory)
[29864] libc: __libc_start_main() should obtain program headers
address (_dl_phdr) from the auxv, not the ELF header.
[29951] time: daylight variable not set correctly if last DST change
coincides with offset change
[30039] stdio: __vsprintf_internal does not handle unspecified buffer
length in fortify mode
Release Notes
=============
https://sourceware.org/glibc/wiki/Release/2.37
Contributors
============
This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports. These include:
Adhemerval Zanella
Adhemerval Zanella Netto
Alan Modra
Alistair Francis
Andreas K. Hüttel
Andreas Schwab
Arjun Shankar
Aurelien Jarno
Carlos Eduardo Seo
Carlos O’Donell
Chenghua Xu
Cristian Rodríguez
Damien Zammit
Fabian Vogt
Fangrui Song
Felix Riemann
Flavio Cruz
Florian Weimer
H.J. Lu
Jakub Wilk
Javier Pello
John David Anglin
Joseph Myers
Jörg Sonnenberger
Kito Cheng
Letu Ren
Lucas A. M. Magalhaes
Ludovic Courtès
Martin Jansa
Martin Joerg
Michael Hudson-Doyle
Mike FABIAN
Noah Goldstein
Paul Eggert
Paul Pluzhnikov
Qingqing Li
Rajalakshmi Srinivasaraghavan
Raphael Moreira Zinsly
Richard Henderson
Sajan Karumanchi
Samuel Thibault
Sergei Trofimovich
Sergey Bugaev
Shahab Vahedi
Siddhesh Poyarekar
Stefan Liebler
Sunil K Pandey
Szabolcs Nagy
Tom Honermann
Tulio Magno Quites Machado Filho
Vladislav Khmelevsky
Wilco Dijkstra
Xi Ruoyao
Xiaolin Tang
Xiaoming Ni
Xing Li
Yu Chien Peter Lin
YunQiang Su
Zong Li
caiyinyu
fanquake
Łukasz Stelmach
наб
We would like to call out the following and thank them for their
tireless patch review:
Adhemerval Zanella
Arjun Shankar
Aurelien Jarno
Carlos O’Donell
Cristian Rodríguez
DJ Delorie
Fangrui Song
Florian Weimer
H.J. Lu
Noah Goldstein
Palmer Dabbelt
Paul E. Murphy
Philippe Mathieu-Daudé
Premachandra Mallappa
Sam James
Siddhesh Poyarekar
Sunil K Pandey
Szabolcs Nagy
Tulio Magno Quites Machado Filho
Wilco Dijkstra
Yann Droneaud