diff options
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 229 |
1 files changed, 219 insertions, 10 deletions
diff --git a/NEWS b/NEWS index f626896aa0..2fe0396b2d 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,58 @@ See the end for copying conditions. Please send GNU C library bug reports via <https://sourceware.org/bugzilla/> using `glibc' in the "product" field. +Version 2.41 + +Major new features: + +* In /etc/resolv.conf and the RES_OPTIONS, option flags can now be + prefixed with “-” to clear previously set flags. For example, if + /etc/resolv.conf contains “options no-aaaa”, a process running with + the RES_OPTIONS=-no-aaaa environment variable performs AAAA DNS + queries when the glibc DNS stub resolver is used. + +* The DNS stub resolver now supports the strict-error option. If + activated, getaddrinfo for the AF_UNSPEC address family (with dual + A/AAAA DNS lookups) attemps to obtain an A/AAAA response pair from + another DNS server if one of the responses indicates failure. Without + the strict-error option, getaddrinfo returns the A record data it has + obtained even if the AAAA query failed. The new strict error mode is + incompatible with some DNS environments which do not follow the RFCs, + which is why this mode is not enabled by default. A future version + of the library may turn it on by default, however. + +* On Linux, the sched_setattr and sched_getattr have been added, for + supporting parameterized scheduling policies such as SCHED_DEADLINE. + +* The iconv program now supports converting files in place. The program + automatically uses a temporary file if required. + +Deprecated and removed features, and other changes affecting compatibility: + +* The big-endian ARC port (arceb-linux-gnu) has been removed. + +* The abort is now async-signal-safe and its implementation makes longjmp + from the SIGABRT handler always abort if set up with setjmp. Use sigsetjmp + to keep the old behavior, where the handler does not stop the process + execution. + +Changes to build and runtime requirements: + + [Add changes to build and runtime requirements here] + +Security related changes: + +The following CVEs were fixed in this release, details of which can be +found in the advisories directory of the release tarball: + + [The release manager will add the list generated by + scripts/process-advisories.sh just before the release.] + +The following bugs were resolved with this release: + + [The release manager will add the list generated by + scripts/list-fixed-bugs.py just before the release.] + Version 2.40 Major new features: @@ -30,13 +82,23 @@ Major new features: - Logarithmic functions: log2p1, log10p1, logp1. -* A new tunable, glibc.rtld.enable_secure, used to run a program +* A new tunable, glibc.rtld.enable_secure, can be used to run a program as if it were a setuid process. This is currently a testing tool to allow more extensive verification tests for AT_SECURE programs and not meant to be a security feature. -* On Linux, update epoll header to include epoll ioctl definitions and - related structure added in Linux kernel 6.9. +* On Linux, the epoll header was updated to include epoll ioctl definitions + and the related structure added in Linux kernel 6.9. + +* The fortify functionality has been significantly enhanced for building + programs with clang against the GNU C Library. + +* Many functions have been added to the vector library for aarch64: + acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh, tanh + +* On x86, memset can now use non-temporal stores to improve the performance + of large writes. This behaviour is controlled by a new tunable + x86_memset_non_temporal_threshold. Deprecated and removed features, and other changes affecting compatibility: @@ -49,22 +111,169 @@ Deprecated and removed features, and other changes affecting compatibility: <utmpx.h> (except for login_tty) due to locking and session management problems. -Changes to build and runtime requirements: - - [Add changes to build and runtime requirements here] +* __rseq_size now denotes the size of the active rseq area (20 bytes + initially), not the size of struct rseq (32 bytes initially). Security related changes: The following CVEs were fixed in this release, details of which can be found in the advisories directory of the release tarball: - [The release manager will add the list generated by - scripts/process-advisories.sh just before the release.] + GLIBC-SA-2024-0004: + ISO-2022-CN-EXT: fix out-of-bound writes when writing escape + sequence (CVE-2024-2961) + + GLIBC-SA-2024-0005: + nscd: Stack-based buffer overflow in netgroup cache (CVE-2024-33599) + + GLIBC-SA-2024-0006: + nscd: Null pointer crash after notfound response (CVE-2024-33600) + + GLIBC-SA-2024-0007: + nscd: netgroup cache may terminate daemon on memory allocation + failure (CVE-2024-33601) + + GLIBC-SA-2024-0008: + nscd: netgroup cache assumes NSS callback uses in-buffer strings + (CVE-2024-33602) 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.] + [19622] network: Support aliasing with struct sockaddr + [21271] localedata: cv_RU: update translations + [23774] localedata: lv_LV collates Y/y incorrectly + [23865] string: wcsstr is quadratic-time + [25119] localedata: Change Czech weekday names to lowercase + [27777] stdio: fclose does a linear search, takes ages when many FILE* + are opened + [29770] libc: prctl does not match manual page ABI on powerpc64le- + linux-gnu + [29845] localedata: Update hr_HR locale currency to € + [30701] time: getutxent misbehaves on 32-bit x86 when _TIME_BITS=64 + [31316] build: Fails test misc/tst-dirname "Didn't expect signal from + child: got `Illegal instruction'" on non SSE CPUs + [31317] dynamic-link: [RISCV] static PIE crashes during self + relocation + [31325] libc: mips: clone3 is wrong for o32 + [31335] math: Compile glibc with -march=x86-64-v3 should disable FMA4 + multi-arch version + [31339] libc: arm32 loader crash after cleanup in 2.36 + [31340] manual: A bad sentence in section 22.3.5 (resource.texi) + [31357] dynamic-link: $(objpfx)tst-rtld-list-diagnostics.out rule + doesn't work with test wrapper + [31370] localedata: wcwidth() does not treat + DEFAULT_IGNORABLE_CODE_POINTs as zero-width + [31371] dynamic-link: x86-64: APX and Tile registers aren't preserved + in ld.so trampoline + [31372] dynamic-link: _dl_tlsdesc_dynamic doesn't preserve all caller- + saved registers + [31383] libc: _FORTIFY_SOURCE=3 and __fortified_attr_access vs size of + 0 and zero size types + [31385] build: sort-makefile-lines.py doesn't check variable with _ + nor with "^# variable" + [31402] libc: clone (NULL, NULL, ...) clobbers %r7 register on + s390{,x} + [31405] libc: Improve dl_iterate_phdr using _dl_find_object + [31411] localedata: Add Latgalian locale + [31412] build: GCC 6 failed to build i386 glibc on Fedora 39 + [31429] build: Glibc failed to build with -march=x86-64-v3 + [31468] libc: sigisemptyset returns true when the set contains signals + larger than 34 + [31476] network: Automatic activation of single-request options break + resolv.conf reloading + [31479] libc: Missing #include <sys/rseq.h> in sched_getcpu.c may + result in a loss of rseq acceleration + [31501] dynamic-link: _dl_tlsdesc_dynamic_xsavec may clobber %rbx + [31518] manual: documentation: FLT_MAX_10_EXP questionable text, evtl. + wrong, + [31530] localedata: Locale file for Moksha - mdf_RU + [31553] malloc: elf/tst-decorate-maps fails on ppc64el + [31596] libc: On the llvm-arm32 platform, dlopen("not_exist.so", -1) + triggers segmentation fault + [31600] math: math: x86 ceill traps when FE_INEXACT is enabled + [31601] math: math: x86 floor traps when FE_INEXACT is enabled + [31603] math: math: x86 trunc traps when FE_INEXACT is enabled + [31612] libc: arc4random fails to fallback to /dev/urandom if + getrandom is not present + [31629] build: powerpc64: Configuring with "--with-cpu=power10" and + 'CFLAGS=-O2 -mcpu=power9' fails to build glibc + [31640] dynamic-link: POWER10 ld.so crashes in + elf_machine_load_address with GCC 14 + [31661] libc: NPROCESSORS_CONF and NPROCESSORS_ONLN not available in + getconf + [31676] dynamic-link: Configuring with CC="gcc -march=x86-64-v3" + --with-rtld-early-cflags=-march=x86-64 results in linker failure + [31677] nscd: nscd: netgroup cache: invalid memcpy under low + memory/storage conditions + [31678] nscd: nscd: Null pointer dereferences after failed netgroup + cache insertion + [31679] nscd: nscd: netgroup cache may terminate daemon on memory + allocation failure + [31680] nscd: nscd: netgroup cache assumes NSS callback uses in-buffer + strings + [31682] math: [PowerPC] Floating point exception error for math test + test-ceil-except-2 test-floor-except-2 test-trunc-except-2 + [31686] dynamic-link: Stack-based buffer overflow in + parse_tunables_string + [31695] libc: pidfd_spawn/pidfd_spawnp leak an fd if clone3 succeeds + but execve fails + [31719] dynamic-link: --enable-hardcoded-path-in-tests doesn't work + with -Wl,--enable-new-dtags + [31730] libc: backtrace_symbols_fd prints different strings than + backtrace_symbols returns + [31753] build: FAIL: link-static-libc with GCC 6/7/8 + [31755] libc: procutils_read_file doesn't start with a leading + underscore + [31756] libc: write_profiling is only in libc.a + [31757] build: Should XXXf128_do_not_use functions be excluded? + [31759] math: Extra nearbyint symbols in libm.a + [31760] math: Missing math functions + [31764] build: _res_opcodes should be a compat symbol only + [31765] dynamic-link: _dl_mcount_wrapper is exported without prototype + [31766] stdio: _IO_stderr_ _IO_stdin_ _IO_stdout should be compat + symbols + [31768] string: Extra stpncpy symbol in libc.a + [31770] libc: clone3 is in libc.a + [31774] libc: Missing __isnanf128 in libc.a + [31775] math: Missing exp10 exp10f32x exp10f64 fmod fmodf fmodf32 + fmodf32x fmodf64 in libm.a + [31777] string: Extra memchr strlen symbols in libc.a + [31781] math: Missing math functions in libm.a + [31782] build: Test build failure with recent GCC trunk (x86/tst-cpu- + features-supports.c:69:3: error: parameter to builtin not valid: + avx5124fmaps) + [31785] string: loongarch: Extra strnlen symbols in libc.a + [31786] string: powerpc: Extra strchrnul and strncasecmp_l symbols in + libc.a + [31787] math: powerpc: Extra llrintf, llrintf, llrintf32, and + llrintf32 symbols in libc.a + [31788] libc: microblaze: Extra cacheflush symbol in libc.a + [31789] libc: powerpc: Extra versionsort symbol in libc.a + [31790] libc: s390: Extra getutent32, getutent32_r, getutid32, + getutid32_r, getutline32, getutline32_r, getutmp32, getutmpx32, + getutxent32, getutxid32, getutxline32, pututline32, pututxline32, + updwtmp32, updwtmpx32 in libc.a + [31797] build: g++ -static requirement should be able to opt-out + [31798] libc: pidfd_getpid.c is miscompiled by GCC 6.4 + [31802] time: difftime is pure not const + [31808] time: The supported time_t range is not documented. + [31840] stdio: Memory leak in _IO_new_fdopen (fdopen) on seek failure + [31867] build: "CPU ISA level is lower than required" on SSE2-free + CPUs + [31876] time: "Date and time" documentation fixes for POSIX.1-2024 etc + [31883] build: ISA level support configure check relies on bashism / + is otherwise broken for arithmetic + [31892] build: Always install mtrace. + [31917] libc: clang mq_open fortify wrapper does not handle 4 argument + correctly + [31927] libc: clang open fortify wrapper does not handle argument + correctly + [31931] time: tzset may fault on very short TZ string + [31934] string: wcsncmp crash on s390x on vlbb instruction + [31963] stdio: Crash in _IO_link_in within __gcov_exit + [31965] dynamic-link: rseq extension mechanism does not work as + intended + [31980] build: elf/tst-tunables-enable_secure-env fails on ppc Version 2.39 |