X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=NEWS;h=d7286841c9287d80fbe9b39d3a04f6fb3ed17931;hb=02d35f0646050157d47f22f2f74347431d5ccbdd;hp=7f5ef432fa259267e55a6303093949e6d369cddd;hpb=f6efec90c86a6576fe02f4bf220ed4f7bc0b5e14;p=thirdparty%2Fglibc.git diff --git a/NEWS b/NEWS index 7f5ef432fa2..d7286841c92 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,45 @@ See the end for copying conditions. Please send GNU C library bug reports via using `glibc' in the "product" field. + +Version 2.31 + +Major new features: + +* The GNU C Library now supports a feature test macro _ISOC2X_SOURCE to + enable features from the draft ISO C2X standard. Only some features from + this draft standard are supported by the GNU C Library, and as the draft + is under active development, the set of features enabled by this macro is + liable to change. Features from C2X are also enabled by _GNU_SOURCE, or + by compiling with "gcc -std=gnu2x". + +* The functions that round their results to a narrower type now + have corresponding type-generic macros in , as defined in TS + 18661-1:2014 and TS 18661-3:2015 as amended by the resolution of + Clarification Request 13 to TS 18661-3. + +Deprecated and removed features, and other changes affecting compatibility: + +* The totalorder and totalordermag functions, and the corresponding + functions for other floating-point types, now take pointer arguments to + avoid signaling NaNs possibly being converted to quiet NaNs in argument + passing. This is in accordance with the resolution of Clarification + Request 25 to TS 18661-1, as applied for C2X. Existing binaries that pass + floating-point arguments directly will continue to work. + +Changes to build and runtime requirements: + + [Add changes to build and runtime requirements here] + +Security related changes: + + [Add security related changes here] + +The following bugs are resolved with this release: + + [The release manager will add the list generated by + scripts/list-fixed-bugs.py just before the release.] + Version 2.30 @@ -20,7 +59,7 @@ Major new features: twalk function, but it passes an additional caller-supplied argument to the callback function. -* On Linux, the gettid function has been added. +* On Linux, the getdents64, gettid, and tgkill functions have been added. * Minguo (Republic of China) calendar support has been added as an alternative calendar for the following locales: zh_TW, cmn_TW, hak_TW, @@ -34,8 +73,37 @@ Major new features: pointer subtraction within the allocated object, where results might overflow the ptrdiff_t type. +* The dynamic linker no longer refuses to load objects which reference + versioned symbols whose implementation has moved to a different soname + since the object has been linked. The old error message, symbol + FUNCTION-NAME, version SYMBOL-VERSION not defined in file DSO-NAME with + link time reference, is gone. + +* Add new POSIX-proposed pthread_cond_clockwait, pthread_mutex_clocklock, + pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and sem_clockwait + functions. These behave similarly to their "timed" equivalents, but also + accept a clockid_t parameter to determine which clock their timeout should + be measured against. All functions allow waiting against CLOCK_MONOTONIC + and CLOCK_REALTIME. The decision of which clock to be used is made at the + time of the wait (unlike with pthread_condattr_setclock, which requires + the clock choice at initialization time). + +* On AArch64 the GNU IFUNC resolver call ABI changed: old resolvers still + work, new resolvers can use a second argument which can be extended in + the future, currently it contains the AT_HWCAP2 value. + Deprecated and removed features, and other changes affecting compatibility: +* The copy_file_range function fails with ENOSYS if the kernel does not + support the system call of the same name. Previously, user space + emulation was performed, but its behavior did not match the kernel + behavior, which was deemed too confusing. Applications which use the + copy_file_range function can no longer rely on glibc to provide a fallback + on kernels that do not support the copy_file_range system call, and if + this function returns ENOSYS, they will need to use their own fallback. + Support for copy_file_range for most architectures was added in version + 4.5 of the mainline Linux kernel. + * The functions clock_gettime, clock_getres, clock_settime, clock_getcpuclockid, clock_nanosleep were removed from the librt library for new applications (on architectures which had them). Instead, the @@ -54,6 +122,18 @@ Deprecated and removed features, and other changes affecting compatibility: * With --enable-bind-now, installed programs are now linked with the BIND_NOW flag. +* Support for the PowerPC SPE ISA extension (powerpc-*-*gnuspe* + configurations) has been removed, following the deprecation of this + subarchitecture in version 8 of GCC, and its removal in version 9. + +* On 32-bit Arm, support for the port-based I/O emulation and the + header have been removed. + +* The Linux-specific header and the sysctl function have been + deprecated and will be removed from a future version of glibc. + Application should directly access /proc instead. For obtaining random + bits, the getentropy function can be used. + Changes to build and runtime requirements: * GCC 6.2 or later is required to build the GNU C Library. @@ -77,8 +157,109 @@ Security related changes: The following bugs are resolved with this release: - [The release manager will add the list generated by - scripts/list-fixed-bugs.py just before the release.] + [2872] locale: Transliteration Cyrillic -> ASCII fails + [6399] libc: gettid() should have a wrapper + [16573] malloc: mtrace hangs when MALLOC_TRACE is defined + [16976] glob: fnmatch unbounded stack VLA for collating symbols + [17396] localedata: globbing for locale by [[.collating-element.]] + [18035] dynamic-link: pldd does no longer work, enters infinite loop + [18465] malloc: memusagestat is built using system C library + [18830] locale: iconv -c -f ascii with >buffer size worth of input before + invalid input drops valid char + [20188] nptl: libpthread IFUNC resolver for vfork can lead to crash + [20568] locale: Segfault with wide characters and setlocale/fgetwc/UTF-8 + [21897] localedata: Afar locales: Fix mon, abmon, and abday + [22964] localedata: The Japanese Era name will be changed on May 1, 2019 + [23352] malloc: __malloc_check_init still defined in public header + malloc.h. + [23403] nptl: Wrong alignment of TLS variables + [23501] libc: nftw() doesn't return dangling symlink's inode + [23733] malloc: Check the count before calling tcache_get() + [23741] malloc: Missing __attribute_alloc_size__ in many allocation + functions + [23831] localedata: nl_NL missing LC_NUMERIC thousands_sep + [23844] nptl: pthread_rwlock_trywrlock results in hang + [23983] argparse: Missing compat versions of argp_failure and argp_error + for long double = double + [23984] libc: Missing compat versions of err.h and error.h functions for + long double = double + [23996] localedata: Dutch salutations + [24040] libc: riscv64: unterminated call chain in __thread_start + [24047] network: libresolv should use IP_RECVERR/IPV6_RECVERR to avoid + long timeouts + [24051] stdio: puts and putchar ouput to _IO_stdout instead of stdout + [24059] nss: nss_files: get_next_alias calls fgets_unlocked without + checking for NULL. + [24114] regex: regexec buffer read overrun in "grep -i + '\(\(\)*.\)*\(\)\(\)\1'" + [24122] libc: Segfaults if 0 returned from la_version + [24153] stdio: Some input functions do not react to stdin assignment + [24155] string: x32 memcmp can treat positive length as 0 (if sign bit in + RDX is set) (CVE-2019-7309) + [24161] nptl: __run_fork_handlers self-deadlocks in malloc/tst-mallocfork2 + [24164] libc: Systemtap probes need to use "nr" constraint on 32-bit Arm, + not the default "nor" + [24166] dynamic-link: Dl_serinfo.dls_serpath[1] in dlfcn.h causes UBSAN + false positives, change to modern flexible array + [24180] nptl: pthread_mutex_trylock does not use the correct order of + instructions while maintaining the robust mutex list due to missing + compiler barriers. + [24194] librt: Non-compatibility symbols for clock_gettime etc. cause + unnecessary librt dependencies + [24200] localedata: Revert first_weekday removal in en_IE locale + [24211] nptl: Use-after-free in Systemtap probe in pthread_join + [24215] nptl: pthread_timedjoin_np should be a cancellation point + [24216] malloc: Check for large bin list corruption when inserting + unsorted chunk + [24228] stdio: old x86 applications that use legacy libio crash on exit + [24231] dynamic-link: [sparc64] R_SPARC_H34 implementation falls through + to R_SPARC_H44 + [24293] localedata: Missing Minguo calendar support for TW locales + [24296] localedata: Orthographic mistakes in 'day' and 'abday' sections in + tt_RU (Tatar) locale + [24307] localedata: Update locale data to Unicode 12.0.0 + [24323] dynamic-link: dlopen should not be able open PIE objects + [24335] build: "Obsolete types detected" with Linux 5.0 headers + [24369] localedata: Orthographic mistakes in 'mon' and 'abmon' sections in + tt_RU (Tatar) locale + [24370] localedata: Add lang_name for tt_RU locale + [24372] locale: Binary locale files are not architecture independent + [24394] time: strptime %Ey mis-parses final year of era + [24476] dynamic-link: __libc_freeres triggers bad free in libdl if dlerror + was not used + [24506] dynamic-link: FAIL: elf/tst-pldd with --enable-hardcoded-path-in- + tests + [24531] malloc: Malloc tunables give tcache assertion failures + [24532] libc: conform/arpa/inet.h failures due to linux kernel 64-bit + time_t changes + [24535] localedata: Update locale data to Unicode 12.1.0 + [24537] build: nptl/tst-eintr1 test case can hit task limits on some + kernels and break testing + [24544] build: elf/tst-pldd doesn't work if you install with a --prefix + [24556] build: [GCC 9] error: ‘%s’ directive argument is null + [-Werror=format-overflow=] + [24570] libc: alpha: compat msgctl uses __IPC_64 + [24584] locale: Data race in __wcsmbs_clone_conv + [24588] stdio: Remove codecvt vtables from libio + [24603] math: sysdeps/ieee754/dbl-64/branred.c is slow when compiled with + -O3 -march=skylake + [24614] localedata: nl_NL LC_MONETARY doesn't match CLDR 35 + [24632] stdio: Old binaries which use freopen with default stdio handles + crash + [24640] libc: __ppc_get_timebase_freq() always return 0 when using static + linked glibc + [24652] localedata: szl_PL spelling correction + [24695] nss: nss_db: calling getpwent after endpwent crashes + [24696] nss: endgrent() clobbers errno=ERRNO for 'group: db files' entry + in /etc/nsswitch.conf + [24699] libc: mmap64 with very large offset broken on MIPS64 n32 + [24740] libc: getdents64 type confusion + [24741] dynamic-link: ld.so should not require that a versioned symbol is + always implemented in the same library + [24744] libc: Remove copy_file_range emulation + [24757] malloc: memusagestat is linked against system libpthread + [24794] libc: Partial test suite run builds corrupt test-in-container + testroot Version 2.29 @@ -4045,7 +4226,7 @@ Version 2.3.6 1110, 1111, 1112, 1113, 1125, 1137, 1138, 1249, 1250, 1251, 1252, 1253, 1254, 1350, 1358, 1394, 1438, 1498, 1534 - Visit for the details of each bug. + Visit for the details of each bug. * As of this release, GCC 4 can be used to compile the C Library. @@ -4060,7 +4241,7 @@ Version 2.3.5 737, 738, 739, 740, 741, 742, 743, 744, 745, 765, 767, 768, 769, 776, 777, 787, 821, 822, 823, 825 - Visit for the details of each bug. + Visit for the details of each bug. Version 2.3.4