summaryrefslogtreecommitdiff
tag nameglibc-2.36 (340c063213cc1a112ce3009550fbcf66f8184fe4)
tag date2022-07-30 15:27:42 -0400
tagged byCarlos O'Donell <carlos@redhat.com>
tagged objectcommit c804cd1c00...
downloadglibc-2.36.tar.gz
glibc-2.36.tar.bz2
glibc-2.36.zip
The GNU C Library version 2.36 is now available
The GNU C Library ================= The GNU C Library version 2.36 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.36 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 NEWS for version 2.36 ===================== Major new features: * Support for DT_RELR relative relocation format has been added to glibc. This is a new ELF dynamic tag that improves the size of relative relocations in shared object files and position independent executables (PIE). DT_RELR generation requires linker support for -z pack-relative-relocs option, which is supported for some targets in recent binutils versions. Lazy binding doesn't apply to DT_RELR. * On Linux, the pidfd_open, pidfd_getfd, and pidfd_send_signal functions have been added. The pidfd functionality provides access to a process while avoiding the issue of PID reuse on tranditional Unix systems. * On Linux, the process_madvise function has been added. It has the same functionality as madvise but alters the target process identified by the pidfd. * On Linux, the process_mrelease function has been added. It allows a caller to release the memory of a dying process. The release of the memory is carried out in the context of the caller, using the caller's CPU affinity, and priority with CPU usage accounted to the caller. * The “no-aaaa” DNS stub resolver option has been added. System administrators can use it to suppress AAAA queries made by the stub resolver, including AAAA lookups triggered by NSS-based interfaces such as getaddrinfo. Only DNS lookups are affected: IPv6 data in /etc/hosts is still used, getaddrinfo with AI_PASSIVE will still produce IPv6 addresses, and configured IPv6 name servers are still used. To produce correct Name Error (NXDOMAIN) results, AAAA queries are translated to A queries. The new resolver option is intended primarily for diagnostic purposes, to rule out that AAAA DNS queries have adverse impact. It is incompatible with EDNS0 usage and DNSSEC validation by applications. * On Linux, the fsopen, fsmount, move_mount, fsconfig, fspick, open_tree, and mount_setattr have been added. They are part of the new Linux kernel mount APIs that allow applications to more flexibly configure and operate on filesystem mounts. The new mount APIs are specifically designed to work with namespaces. * localedef now accepts locale definition files encoded in UTF-8. Previously, input bytes not within the ASCII range resulted in unpredictable output. * Support for the mbrtoc8 and c8rtomb multibyte/UTF-8 character conversion functions has been added per the ISO C2X N2653 and C++20 P0482R6 proposals. Support for the char8_t typedef has been added per the ISO C2X N2653 proposal. The functions are declared in uchar.h in C2X mode or when the _GNU_SOURCE macro or C++20 __cpp_char8_t feature test macro is defined. The char8_t typedef is declared in uchar.h in C2X mode or when the _GNU_SOURCE macro is defined and the C++20 __cpp_char8_t feature test macro is not defined (if __cpp_char8_t is defined, then char8_t is a builtin type). * The functions arc4random, arc4random_buf, and arc4random_uniform have been added. The functions wrap getrandom and/or /dev/urandom to return high- quality randomness from the kernel. * Support for LoongArch running on Linux has been added. This port requires as least binutils 2.38, GCC 12, and Linux 5.19. Currently only hard-float ABI is supported: - loongarch64-linux-gnu The LoongArch ABI is 64-bit little-endian. Deprecated and removed features, and other changes affecting compatibility: * Support for prelink will be removed in the next release; this includes removal of the LD_TRACE_PRELINKING, and LD_USE_LOAD_BIAS, environment variables and their functionality in the dynamic loader. * The Linux kernel version check has been removed along with the LD_ASSUME_KERNEL environment variable. The minimum kernel used to built glibc is still provided through NT_GNU_ABI_TAG ELF note and also printed when libc.so is issued directly. * On Linux, The LD_LIBRARY_VERSION environment variable has been removed. The following bugs are resolved with this release: [14932] dynamic-link: dlsym(handle, "foo") and dlsym(RTLD_NEXT, "foo") return different result with versioned "foo" [16355] libc: syslog.h's SYSLOG_NAMES namespace violation and utter mess [23293] dynamic-link: aarch64: getauxval is broken when run as ld.so ./exe and ld.so adjusts argv on the stack [24595] nptl: [2.28 Regression]: Deadlock in atfork handler which calls dlclose [25744] locale: mbrtowc with Big5-HKSCS returns 2 instead of 1 when consuming the second byte of certain double byte characters [25812] stdio: Libio vtable protection is sometimes only partially enforced [27054] libc: pthread_atfork handlers that call pthread_atfork deadlock [27924] dynamic-link: ld.so: Support DT_RELR relative relocation format [28128] build: declare_symbol_alias doesn't work for assembly codes [28566] network: getnameinfo with NI_NOFQDN is not thread safe [28752] nss: Segfault in getpwuid when stat fails [28815] libc: realpath should not copy to resolved buffer on error [28828] stdio: fputwc crashes [28838] libc: FAIL: elf/tst-p_align3 [28845] locale: ld-monetary.c should be updated to match ISO C and other standards. [28850] libc: linux: __get_nprocs_sched reads uninitialized memory from the stack [28852] libc: getaddrinfo leaks memory with AI_ALL [28853] libc: tst-spawn6 changes current foreground process group (breaks test isolation) [28857] libc: FAIL: elf/tst-audit24a [28860] build: --enable-kernel=5.1.0 build fails because of missing __convert_scm_timestamps [28865] libc: linux: _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN are inaccurate without /sys and /proc [28868] dynamic-link: Dynamic loader DFS algorithm segfaults on missing libraries [28880] libc: Program crashes if date beyone 2038 [28883] libc: sysdeps/unix/sysv/linux/select.c: __select64 !__ASSUME_TIME64_SYSCALLS && !__ASSUME_PSELECT fails on Microblaze [28896] string: strncmp-avx2-rtm and wcsncmp-avx2-rtm fallback on non- rtm variants when avoiding overflow [28922] build: The .d dependency files aren't always generated [28931] libc: hosts lookup broken for SUCCESS=CONTINUE and SUCCESS=MERGE [28936] build: nm: No such file [28950] localedata: Add locale for ISO code "tok" (Toki Pona) [28953] nss: NSS lookup result can be incorrect if function lookup clobbers errno [28970] math: benchtest: libmvec benchmark doesn't build with make bench. [28991] libc: sysconf(_SC_NPROCESSORS_CONF) should read /sys/devices/system/cpu/possible [28993] libc: closefrom() iterates until max int if no access to /proc/self/fd/ [28996] libc: realpath fails to copy partial result to resolved buffer on ENOENT and EACCES [29027] math: [ia64] fabs fails with sNAN input [29029] nptl: poll() spuriously returns EINTR during thread cancellation and with cancellation disabled [29030] string: GLIBC 2.35 regression - Fortify crash on certain valid uses of mbsrtowcs (*** buffer overflow detected ***: terminated) [29062] dynamic-link: Memory leak in _dl_find_object_update if object is promoted to global scope [29069] libc: fstatat64_time64_statx wrapper broken on MIPS N32 with -D_FILE_OFFSET_BITS=64 and -D_TIME_BITS=64 [29071] dynamic-link: m68k: Removal of ELF_DURING_STARTUP optimization broke ld.so [29097] time: fchmodat does not handle 64 bit time_t for AT_SYMLINK_NOFOLLOW [29109] libc: posix_spawn() always returns 1 (EPERM) on clone() failure [29141] libc: _FORTIFY_SOURCE=3 fail for gcc 12/glibc 2.35 [29162] string: [PATCH] string.h syntactic error: include/bits/string_fortified.h:110: error: expected ',' or ';' before '__fortified_attr_access' [29165] libc: [Regression] broken argv adjustment [29187] dynamic-link: [regression] broken argv adjustment for nios2 [29193] math: sincos produces a different output than sin/cos [29197] string: __strncpy_power9() uses uninitialised register vs18 value for filling after \0 [29203] libc: daemon is not y2038 aware [29204] libc: getusershell is not 2038 aware [29207] libc: posix_fallocate fallback implementation is not y2038 aware [29208] libc: fpathconf(_PC_ASYNC_IO) is not y2038 aware [29209] libc: isfdtype is not y2038 aware [29210] network: ruserpass is not y2038 aware [29211] libc: __open_catalog is not y2038 aware [29213] libc: gconv_parseconfdir is not y2038 aware [29214] nptl: pthread_setcanceltype fails to set type [29225] network: Mistyped define statement in socket/sys/socket.h in line 184 [29274] nptl: __read_chk is not a cancellation point [29279] libc: undefined reference to `mbstowcs_chk' after 464d189b9622932a75302290625de84931656ec0 [29304] libc: mq_timedreceive does not handle 64 bit syscall return correct for !__ASSUME_TIME64_SYSCALLS [29403] libc: st_atim, st_mtim, st_ctim stat struct members are missing on microblaze with largefile Release Notes ============= https://sourceware.org/glibc/wiki/Release/2.36 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: =Joshua Kinard Adhemerval Zanella Adhemerval Zanella Netto Alan Modra Andreas Schwab Arjun Shankar Arnout Vandecappelle (Essensium/Mind) Carlos O'Donell Cristian Rodríguez DJ Delorie Danila Kutenin Darius Rad Dmitriy Fedchenko Dmitry V. Levin Emil Soleyman-Zomalan Fangrui Song Florian Weimer Gleb Fotengauer-Malinovskiy Guilherme Janczak H.J. Lu Ilyahoo Proshel Jason A. Donenfeld Joan Bruguera John David Anglin Jonathan Wakely Joseph Myers José Bollo Kito Cheng Maciej W. Rozycki Mark Wielaard Matheus Castanho Max Gautier Michael Hudson-Doyle Nicholas Guriev Noah Goldstein Paul E. Murphy Raghuveer Devulapalli Ricardo Bittencourt Sam James Samuel Thibault Sergei Trofimovich Siddhesh Poyarekar Stafford Horne Stefan Liebler Steve Grubb Su Lifan Sunil K Pandey Szabolcs Nagy Tejas Belagod Tom Coldrick Tom Honermann Tulio Magno Quites Machado Filho WANG Xuerui Wangyang Guo Wilco Dijkstra Xi Ruoyao Xiaoming Ni Yang Yanchao caiyinyu -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEcnNUKzmWLfeymZMUFnkrTqJTQPgFAmLlhoMACgkQFnkrTqJT QPiCHQ/+MZq4ev6iFWS+MnGHzOsAqco0A5pZlC5kLQD40uMvHGyiX9mpG0DHi67x bGWlK+EhaPD0VpW8+bo0zUxrbYnFO8oLhGNQuxaw03YTrgfXbZk5qzlKCe22kMQI ceHiYFP5pIrw7ysjHZw6zRkkDitifcEhklOFA56ncNht9TPxiygaEk7yR9gYZD6/ NnhIFvKXGWekgVL8O6KVowJqGo0Gi+GiQug1SCKGSqfE6gcu0dFgghSh4uiNR2Z+ uSGhnCgg9jSx3lvM9gL7wWQdlfc8iSrXJYe0G8Tje8gMtG7lHIe+Jd9SzSzvke9n OPfh6Q9OJZwWuDQI7OhrUDhTgKTkx17e/tulMND8dFTSleM2OmiIBN37SnIEu77u cvCVzl2jr0j6S5u+XeiQYqcSuX+8cM74uaQIImxYgdNXfVMxqHQzDOsS1K0s3BP9 AkJWUaEOZ46SdQwWcqeusq7XRFmyWxrQj+pZq1AiDCzjNFuzVUvisznc+T3RBwyK tg0NrzG0HQgK0Uf1lNXJdH5bojw+bGpotfY5+8eFhngLKJuqQSuqvldODOAw+Zbk 8jxNFHQpgM5r202d3CpiB+TmO2MlFuzp+o6O2Sske+HK6R6JUjC288SupLuZ8+0Q wD/5U8qOJi+rIACAHl2WITfVTificaGNOOYLvJBu9MOCKZhxYlM= =wzVE -----END PGP SIGNATURE-----