public inbox for firstname.lastname@example.org
help / color / mirror / Atom feed
* [glibc] Created tag 'glibc-2.36'
@ 2022-07-30 19:30 Carlos O'Donell
0 siblings, 0 replies; only message in thread
From: Carlos O'Donell @ 2022-07-30 19:30 UTC (permalink / raw)
The signed tag 'glibc-2.36' was created pointing to:
c804cd1c00... Create ChangeLog.old/ChangeLog.25.
Tagger: Carlos O'Donell <email@example.com>
Date: Sat Jul 30 15:27:42 2022 -0400
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:
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
* localedef now accepts locale definition files encoded in UTF-8.
Previously, input bytes not within the ASCII range resulted in
* 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:
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:
 dynamic-link: dlsym(handle, "foo") and dlsym(RTLD_NEXT, "foo")
return different result with versioned "foo"
 libc: syslog.h's SYSLOG_NAMES namespace violation and utter
 dynamic-link: aarch64: getauxval is broken when run as ld.so
./exe and ld.so adjusts argv on the stack
 nptl: [2.28 Regression]: Deadlock in atfork handler which
 locale: mbrtowc with Big5-HKSCS returns 2 instead of 1 when
consuming the second byte of certain double byte characters
 stdio: Libio vtable protection is sometimes only partially
 libc: pthread_atfork handlers that call pthread_atfork
 dynamic-link: ld.so: Support DT_RELR relative relocation
 build: declare_symbol_alias doesn't work for assembly codes
 network: getnameinfo with NI_NOFQDN is not thread safe
 nss: Segfault in getpwuid when stat fails
 libc: realpath should not copy to resolved buffer on error
 stdio: fputwc crashes
 libc: FAIL: elf/tst-p_align3
 locale: ld-monetary.c should be updated to match ISO C and
 libc: linux: __get_nprocs_sched reads uninitialized memory
from the stack
 libc: getaddrinfo leaks memory with AI_ALL
 libc: tst-spawn6 changes current foreground process group
(breaks test isolation)
 libc: FAIL: elf/tst-audit24a
 build: --enable-kernel=5.1.0 build fails because of missing
 libc: linux: _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN are
inaccurate without /sys and /proc
 dynamic-link: Dynamic loader DFS algorithm segfaults on
 libc: Program crashes if date beyone 2038
 libc: sysdeps/unix/sysv/linux/select.c: __select64
!__ASSUME_TIME64_SYSCALLS && !__ASSUME_PSELECT fails on Microblaze
 string: strncmp-avx2-rtm and wcsncmp-avx2-rtm fallback on non-
rtm variants when avoiding overflow
 build: The .d dependency files aren't always generated
 libc: hosts lookup broken for SUCCESS=CONTINUE and
 build: nm: No such file
 localedata: Add locale for ISO code "tok" (Toki Pona)
 nss: NSS lookup result can be incorrect if function lookup
 math: benchtest: libmvec benchmark doesn't build with make
 libc: sysconf(_SC_NPROCESSORS_CONF) should read
 libc: closefrom() iterates until max int if no access to
 libc: realpath fails to copy partial result to resolved buffer
on ENOENT and EACCES
 math: [ia64] fabs fails with sNAN input
 nptl: poll() spuriously returns EINTR during thread
cancellation and with cancellation disabled
 string: GLIBC 2.35 regression - Fortify crash on certain valid
uses of mbsrtowcs (*** buffer overflow detected ***: terminated)
 dynamic-link: Memory leak in _dl_find_object_update if object
is promoted to global scope
 libc: fstatat64_time64_statx wrapper broken on MIPS N32 with
-D_FILE_OFFSET_BITS=64 and -D_TIME_BITS=64
 dynamic-link: m68k: Removal of ELF_DURING_STARTUP optimization
 time: fchmodat does not handle 64 bit time_t for
 libc: posix_spawn() always returns 1 (EPERM) on clone()
 libc: _FORTIFY_SOURCE=3 fail for gcc 12/glibc 2.35
 string: [PATCH] string.h syntactic error:
include/bits/string_fortified.h:110: error: expected ',' or ';'
 libc: [Regression] broken argv adjustment
 dynamic-link: [regression] broken argv adjustment for nios2
 math: sincos produces a different output than sin/cos
 string: __strncpy_power9() uses uninitialised register vs18
value for filling after \0
 libc: daemon is not y2038 aware
 libc: getusershell is not 2038 aware
 libc: posix_fallocate fallback implementation is not y2038
 libc: fpathconf(_PC_ASYNC_IO) is not y2038 aware
 libc: isfdtype is not y2038 aware
 network: ruserpass is not y2038 aware
 libc: __open_catalog is not y2038 aware
 libc: gconv_parseconfdir is not y2038 aware
 nptl: pthread_setcanceltype fails to set type
 network: Mistyped define statement in socket/sys/socket.h in
 nptl: __read_chk is not a cancellation point
 libc: undefined reference to `mbstowcs_chk' after
 libc: mq_timedreceive does not handle 64 bit syscall return
correct for !__ASSUME_TIME64_SYSCALLS
 libc: st_atim, st_mtim, st_ctim stat struct members are
missing on microblaze with largefile
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 Netto
Arnout Vandecappelle (Essensium/Mind)
Dmitry V. Levin
Jason A. Donenfeld
John David Anglin
Maciej W. Rozycki
Paul E. Murphy
Sunil K Pandey
Tulio Magno Quites Machado Filho
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-07-30 19:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-30 19:30 [glibc] Created tag 'glibc-2.36' Carlos O'Donell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).