about summary refs log tree commit diff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS218
1 files changed, 208 insertions, 10 deletions
diff --git a/NEWS b/NEWS
index f626896aa0..d488874aba 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,47 @@ 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.
+
+Deprecated and removed features, and other changes affecting compatibility:
+
+  [Add deprecations, removals and changes affecting compatibility here]
+
+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 +71,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 +100,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