linux arm regtest: leak_cpp_interior try again
[valgrind.git] / NEWS
blobc7fe3df93662b0a84fb87f86cf0f53c733a2fb22
1 Release 3.23.0 (?? Apr 2024)
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,
5 PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
6 MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android,
7 X86/Solaris, AMD64/Solaris, AMD64/MacOSX 10.12, X86/FreeBSD and
8 AMD64/FreeBSD.  There is also preliminary support for X86/macOS 10.13,
9 AMD64/macOS 10.13 and nanoMIPS/Linux.
11 * ==================== CORE CHANGES ===================
13 * ================== PLATFORM CHANGES =================
15 * ==================== TOOL CHANGES ===================
17 * ==================== FIXED BUGS ====================
19 The following bugs have been fixed or resolved.  Note that "n-i-bz"
20 stands for "not in bugzilla" -- that is, a bug that was reported to us
21 but never got a bugzilla entry.  We encourage you to file bugs in
22 bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
23 than mailing the developers (or mailing lists) directly -- bugs that
24 are not entered into bugzilla tend to get forgotten about or ignored.
27 283429  ARM leak checking needs CLEAR_CALLER_SAVED_REGS
28 281059  Cannot connect to Oracle using valgrind
29 390269  unhandled amd64-darwin syscall: unix:464 (openat_nocancel)
30 401284  False positive "Source and destination overlap in strncat"
31 428364  Signals inside io_uring_enter not handled
32 437790  valgrind reports "Conditional jump or move depends on uninitialised
33         value" in memchr of macOS 10.12-10.15
34 460616  disInstr(arm64): unhandled instruction 0x4E819402 (dotprod/ASIMDDP)
35 466884  Missing writev uninit padding suppression for _XSend
36 471036  disInstr_AMD64: disInstr miscalculated next %rip on RORX imm8, m32/64, r32/6
37 475498  Add reallocarray wrapper
38 476320  Build failure with GCC
39 476331  clean up generated/distributed filter scripts
40 476535  Difference in allocation size for massif/tests/overloaded-new between
41         clang++/libc++ and g++/libstdc++
42 476548  valgrind 3.22.0 fails on assertion when loading debuginfo file
43         produced by mold
44 476708  valgrind-monitor.py regular expressions should use raw strings
45 476780  Extend strlcat and strlcpy wrappers to GNU libc
46 476787  Build of Valgrind 3.21.0 fails when SOLARIS_PT_SUNDWTRACE_THRP is
47         defined
48 476887  WARNING: unhandled amd64-freebsd syscall: 578
49 477198  Add fchmodat2 syscall on linux
50 477628  Add mremap support for Solaris
51 477630  Include ucontext.h rather than sys/ucontext.h in Solaris sources
52 477719  vgdb incorrectly replies to qRcmd packet
53 478211  Redundant code for vgdb.c and Valgrind core tools
54 478624  Valgrind incompatibility with binutils-2.42 on x86 with new nop patterns
55         (unhandled instruction bytes: 0x2E 0x8D 0xB4 0x26
56 478837  valgrind fails to read debug info for rust binaries
57 479041  Executables without RW sections do not trigger debuginfo reading
58 480052  WARNING: unhandled amd64-freebsd syscall: 580
59 480126  Build failure on Raspberry Pi 5 / OS 6.1.0-rpi7-rpi-v8
60 480405  valgrind 3.22.0 "m_debuginfo/image.c:586 (set_CEnt):
61         Assertion '!sr_isError(sr)' failed."
62 480488  Add support for FreeBSD 13.3
63 480706  Unhandled syscall 325 (mlock2)
64 481131  [PATCH] x86 regtest: fix clobber lists in generated asm statements
65 n-i-bz  Add redirect for memccpy
67 To see details of a given bug, visit
68   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
69 where XXXXXX is the bug number as listed above.
71 (3.23.0.RC1: ?? Apr 2024)
73 Release 3.22.0 (31 Oct 2023)
74 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76 This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,
77 PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
78 MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android,
79 X86/Solaris, AMD64/Solaris, AMD64/MacOSX 10.12, X86/FreeBSD and
80 AMD64/FreeBSD.  There is also preliminary support for X86/macOS 10.13,
81 AMD64/macOS 10.13 and nanoMIPS/Linux.
83 * ==================== CORE CHANGES ===================
85 * A new configure option --with-gdbscripts-dir lets you install
86   the gdb valgrind python monitor scripts in a specific location.
87   For example a distro could use it to install the scripts in a
88   safe load location --with-gdbscripts-dir=%{_datadir}/gdb/auto-load
89   It is also possible to configure --without-gdb-scripts-dir so no
90   .debug_gdb_scripts section is added to the vgpreload library and
91   no valgrind-monitor python scripts are installed at all.
93 * ================== PLATFORM CHANGES =================
95 * Support has been added for FreeBSD 14 and FreeBSD 15.
96 * Add support for the folllowing FreeBSD system calls:
97   close_range, kqueuex, membarrier, timerfd_create,
98   timerfd_settime and timerfd_gettime (all added in FreeBSD 15).
100 * ==================== TOOL CHANGES ===================
102 * Memcheck now tests and warns about the values used for
103   alignment and size. These apply to various functions: memalign,
104   posix_memalign and aligned_alloc in C and various overloads
105   of operators new and delete in C++. The kinds of error that can
106   be detected are
107   - invalid alignment, for instance the alignment is usually required
108     to be a power of 2
109   - mismatched alignment between aligned allocation and aligned
110     deallocation
111   - mismatched size when sized delete is used
112   - bad size for functions that have implementation defined behaviour
113     when the requested size is zero
115 * Cachegrind:
116   - You can now profile part of a program's execution using the new
117     `CACHEGRIND_START_INSTRUMENTATION` and `CACHEGRIND_STOP_INSTRUMENTATION`
118     client requests, along with the new `--instr-at-start` option. The
119     behaviour is the same as Callgrind's equivalent functionality.
121 * ==================== FIXED BUGS ====================
123 The following bugs have been fixed or resolved.  Note that "n-i-bz"
124 stands for "not in bugzilla" -- that is, a bug that was reported to us
125 but never got a bugzilla entry.  We encourage you to file bugs in
126 bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
127 than mailing the developers (or mailing lists) directly -- bugs that
128 are not entered into bugzilla tend to get forgotten about or ignored.
130 390871  ELF debug info reader confused with multiple .rodata* sections
131 417993  vbit-test fail on s390x with Iop_Add32: spurious dependency on uninit
132 426751  Valgrind reports "still reachable" memory using musl
133         (alpine running inside docker)
134 432801  Valgrind 3.16.1 reports a jump based on uninitialized memory somehow
135         related to clang and signals
136 433857  Add validation to C++17 aligned new/delete alignment size
137 433859  Add mismatched detection to C++ 17 aligned new/delete
138 460192  Add epoll_pwait2
139 461074  DWARF2 CFI reader: unhandled DW_OP_ 0x11 (consts) DW_OP_ 0x92 (bregx)
140 465782  s390x: Valgrind doesn't compile with Clang on s390x
141 466105  aligned_alloc problems, part 2
142 467441  Add mismatched detection to C++ 14 sized delete
143 469049  link failure on ppc64 (big endian) valgrind 3.20
144 469146  massif --ignore-fn does not ignore inlined functions
145 469768  Make it possible to install gdb scripts in a different location
146 470121  Can't run callgrind_control with valgrind 3.21.0 because of perl errors
147 470132  s390x: Assertion failure on VGM instruction
148 470520  Multiple realloc zero errors crash in MC_(eq_Error)
149 470713  Failure on the Yosys project: valgrind: m_libcfile.c:1802
150         (Bool vgPlain_realpath(const HChar *, HChar *)):
151         Assertion 'resolved' failed
152 470830  Don't print actions vgdb me ... continue for vgdb --multi mode
153 470978  s390x: Valgrind cannot start qemu-kvm when "sysctl vm.allocate_pgste=0"
154 471311  gdb --multi mode stdout redirecting to stderr
155 471807  Add support for lazy reading and downloading of DWARF debuginfo
156 472219  Syscall param ppoll(ufds.events) points to uninitialised byte(s)
157 472875  none/tests/s390x/dfp-1 failure 
158 472963  Broken regular expression in configure.ac
159 473604  Fix bug472219.c compile failure with Clang 16
160 473677  make check compile failure with Clang 16 based on GCC 13.x
161 473745  must-be-redirected function - strlen
162 473870  FreeBSD 14 applications fail early at startup
163 473944  Handle mold linker split RW PT_LOAD segments correctly
164 474332  aligned_alloc under Valgrind returns nullptr when alignment is not a multiple of sizeof(void *)
165 475650  DRD does not work with C11 threads
166 475652  Missing suppression for __wcsncpy_avx2 (strncpy-avx2.S:308)?
167 476108  vg_replace_malloc DELETE checks size
168 n-i-bz  Allow arguments with spaces in .valgrindrc files
169 n-i-bz  FreeBSD fixed reading of Valgrind tools own debuginfo
171 To see details of a given bug, visit
172   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
173 where XXXXXX is the bug number as listed above.
175 (3.22.0.RC1: 17 Oct 2023)
176 (3.22.0.RC2: 26 Oct 2023)
178 Release 3.21.0 (28 Apr 2023)
179 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
181 This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,
182 PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
183 MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android,
184 X86/Solaris, AMD64/Solaris, AMD64/MacOSX 10.12, X86/FreeBSD and
185 AMD64/FreeBSD.  There is also preliminary support for X86/macOS 10.13,
186 AMD64/macOS 10.13 and nanoMIPS/Linux.
188 * ==================== CORE CHANGES ===================
190 * When GDB is used to debug a program running under valgrind using
191   the valgrind gdbserver, GDB will automatically load some
192   python code provided in valgrind defining GDB front end commands
193   corresponding to the valgrind monitor commands.
194   These GDB front end commands accept the same format as
195   the monitor commands directly sent to the Valgrind gdbserver.
196   These GDB front end commands provide a better integration
197   in the GDB command line interface, so as to use for example
198   GDB auto-completion, command specific help, searching for
199   a command or command help matching a regexp, ...
200   For relevant monitor commands, GDB will evaluate arguments
201   to make the use of monitor commands easier.
202   For example, instead of having to print the address of a variable
203   to pass it to a subsequent monitor command, the GDB front end
204   command will evaluate the address argument. It is for example
205   possible to do:
206     (gdb) memcheck who_points_at &some_struct sizeof(some_struct)
207   instead of:
208     (gdb) p &some_struct
209     $2 = (some_struct_type *) 0x1130a0 <some_struct>
210     (gdb) p sizeof(some_struct)
211     $3 = 40
212     (gdb) monitor who_point_at 0x1130a0 40
214 * The vgdb utility now supports extended-remote protocol when
215   invoked with --multi. In this mode the GDB run command is
216   supported. Which means you don't need to run gdb and valgrind
217   from different terminals. So for example to start your program
218   in gdb and run it under valgrind you can do:
219   $ gdb prog
220   (gdb) set remote exec-file prog
221   (gdb) set sysroot /
222   (gdb) target extended-remote | vgdb --multi
223   (gdb) start
225 * The behaviour of realloc with a size of zero can now
226   be changed for tools that intercept malloc. Those
227   tools are memcheck, helgrind, drd, massif and dhat.
228   Realloc implementations generally do one of two things
229      - free the memory like free() and return NULL
230        (GNU libc and ptmalloc).
231      - either free the memory and then allocate a
232        minimum sized block or just return the
233        original pointer. Return NULL if the
234        allocation of the minimum sized block fails
235        (jemalloc, musl, snmalloc, Solaris, macOS).
236   When Valgrind is configured and built it will
237   try to match the OS and libc behaviour. However
238   if you are using a non-default library to replace
239   malloc and family (e.g., musl on a glibc Linux or
240   tcmalloc on FreeBSD) then you can use a command line
241   option to change the behaviour of Valgrind:
242     --realloc-zero-bytes-frees=yes|no [yes on Linux glibc, no otherwise]
244 * ================== PLATFORM CHANGES =================
246 * Make the address space limit on FreeBSD amd64 128Gbytes
247   (the same as Linux and Solaris, it was 32Gbytes)
249 * ==================== TOOL CHANGES ===================
251 * Memcheck:
252   - When doing a delta leak_search, it is now possible to only
253     output the new loss records compared to the previous leak search.
254     This is available in the memcheck monitor command 'leak_search'
255     by specifying the "new" keyword or in your program by using
256     the client request VALGRIND_DO_NEW_LEAK_CHECK.
257     Whenever a "delta" leak search is done (i.e. when specifying
258     "new" or "increased" or "changed" in the monitor command),
259     the new loss records have a "new" marker.
260   - Valgrind now contains python code that defines GDB memcheck
261     front end monitor commands. See CORE CHANGES.
262   - Performs checks for the use of realloc with a size of zero.
263     This is non-portable and a source of errors. If memcheck
264     detects such a usage it will generate an error
265       realloc() with size 0
266     followed by the usual callstacks.
267     A switch has been added to allow this to be turned off:
268       --show-realloc-size-zero=yes|no [yes]
270 * Helgrind:
271   - The option ---history-backtrace-size=<number> allows to configure
272     the number of entries to record in the stack traces of "old"
273     accesses. Previously, this number was hardcoded to 8.
274   - Valgrind now contains python code that defines GDB helgrind
275     front end monitor commands. See CORE CHANGES.
277 * Cachegrind:
278   - `--cache-sim=no` is now the default. The cache simulation is old and
279     unlikely to match any real modern machine. This means only the `Ir`
280     event are gathered by default, but that is by far the most useful
281     event.
282   - `cg_annotate`, `cg_diff`, and `cg_merge` have been rewritten in
283     Python. As a result, they all have more flexible command line
284     argument handling, e.g. supporting `--show-percs` and
285     `--no-show-percs` forms as well as the existing `--show-percs=yes`
286     and `--show-percs=no`.
287   - `cg_annotate` has some functional changes.
288     - It's much faster, e.g. 3-4x on common cases.
289     - It now supports diffing (with `--diff`, `--mod-filename`, and
290       `--mod-funcname`) and merging (by passing multiple data files).
291     - It now provides more information at the file and function level.
292       There are now "File:function" and "Function:file" sections. These
293       are very useful for programs that use inlining a lot.
294     - Support for user-annotated files and the `-I`/`--include` option
295       has been removed, because it was of little use and blocked other
296       improvements.
297     - The `--auto` option is renamed `--annotate`, though the old
298       `--auto=yes`/`--auto=no` forms are still supported.
299   - `cg_diff` and `cg_merge` are now deprecated, because `cg_annotate`
300     now does a better job of diffing and merging.
301   - The Cachegrind output file format has changed very slightly, but in
302     ways nobody is likely to notice.
304 * Callgrind:
305   - Valgrind now contains python code that defines GDB callgrind
306     front end monitor commands. See CORE CHANGES.
308 * Massif:
309   - Valgrind now contains python code that defines GDB massif
310     front end monitor commands. See CORE CHANGES.
312 * DHAT:
313   - A new kind of user request has been added which allows you to
314     override the 1024 byte limit on access count histograms for blocks
315     of memory. The client request is DHAT_HISTOGRAM_MEMORY.
317 * ==================== FIXED BUGS ====================
319 The following bugs have been fixed or resolved.  Note that "n-i-bz"
320 stands for "not in bugzilla" -- that is, a bug that was reported to us
321 but never got a bugzilla entry.  We encourage you to file bugs in
322 bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
323 than mailing the developers (or mailing lists) directly -- bugs that
324 are not entered into bugzilla tend to get forgotten about or ignored.
326 170510  Don't warn about ioctl of size 0 without direction hint
327 241072  List tools in --help output
328 327548  false positive while destroying mutex
329 382034  Testcases build fixes for musl
330 351857  confusing error message about valid command line option
331 374596  inconsistent RDTSCP support on x86_64
332 392331  Spurious lock not held error from inside pthread_cond_timedwait
333 397083  Likely false positive "uninitialised value(s)" for __wmemchr_avx2 and __wmemcmp_avx2_movbe
334 400793  pthread_rwlock_timedwrlock false positive
335 419054  Unhandled syscall getcpu on arm32
336 433873  openat2 syscall unimplemented on Linux
337 434057  Add stdio mode to valgrind's gdbserver
338 435441  valgrind fails to interpose malloc on musl 1.2.2 due to weak symbol name and no libc soname
339 436413  Warn about realloc of size zero
340 439685  compiler warning in callgrind/main.c
341 444110  priv/guest_ppc_toIR.c:36198:31: warning: duplicated 'if' condition.
342 444487  hginfo test detects an extra lock inside data symbol "_rtld_local"
343 444488  Use glibc.pthread.stack_cache_size tunable
344 444568  drd/tests/pth_barrier_thr_cr fails on Fedora 38
345 445743  "The impossible happened: mutex is locked simultaneously by two threads"
346         while using mutexes with priority inheritance and signals
347 449309  Missing loopback device ioctl(s) 
348 459476  vgdb: allow address reuse to avoid "address already in use" errorsuse" errors
349 460356  s390: Sqrt32Fx4 -- cannot reduce tree
350 462830  WARNING: unhandled amd64-freebsd syscall: 474
351 463027  broken check for MPX instruction support in assembler
352 464103  Enhancement: add a client request to DHAT to mark memory to be histogrammed
353 464476  Firefox fails to start under Valgrind
354 464609  Valgrind memcheck should support Linux pidfd_open
355 464680  Show issues caused by memory policies like selinux deny_execmem
356 464859  Build failures with GCC-13 (drd tsan_unittest)
357 464969  D language demangling
358 465435  m_libcfile.c:66 (vgPlain_safe_fd): Assertion 'newfd >= VG_(fd_hard_limit)' failed.
359 466104  aligned_alloc problems, part 1
360 467036  Add time cost statistics for Regtest
361 467482  Build failure on aarch64 Alpine
362 467714  fdleak_* and rlimit tests fail when parent process has more than
363         64 descriptors opened
364 467839  Gdbserver: Improve compatibility of library directory name
365 468401  [PATCH] Add a style file for clang-format
366 468556  Build failure for vgdb
367 468606  build: remove "Valgrind relies on GCC" check/output
368 469097  ppc64(be) doesn't support SCV syscall instruction
369 n-i-bz  FreeBSD rfork syscall fail with EINVAL or ENOSYS rather than VG_(unimplemented)
371 To see details of a given bug, visit
372   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
373 where XXXXXX is the bug number as listed above.
375 * ==================== KNOWN ISSUES ===================
377 * configure --enable-lto=yes is know to not work in all setups.
378   See bug 469049. Workaround: Build without LTO.
380 (3.21.0.RC1: 14 Apr 2023)
381 (3.21.0.RC2: 21 Apr 2023)
383 Release 3.20.0 (24 Oct 2022)
384 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
386 This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,
387 PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
388 MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android,
389 X86/Solaris, AMD64/Solaris, AMD64/MacOSX 10.12, X86/FreeBSD and
390 AMD64/FreeBSD.  There is also preliminary support for X86/macOS 10.13,
391 AMD64/macOS 10.13 and nanoMIPS/Linux.
393 * ==================== CORE CHANGES ===================
395 * The option "--vgdb-stop-at=event1,event2,..." accepts the new value abexit.
396   This indicates to invoke gdbserver when your program exits abnormally
397   (i.e. with a non zero exit code).
398 * Fix Rust v0 name demangling.
399 * The Linux rseq syscall is now implemented as (silently) returning ENOSYS.
400 * Add FreeBSD syscall wrappers for __specialfd and __realpathat.
401 * Remove FreeBSD dependencies on COMPAT10, which fixes compatibility with
402   HardenedBSD
403 * The option --enable-debuginfod=<no|yes> [default: yes] has been added on
404   Linux.
405 * More DWARF5 support as generated by clang14.
407 * ==================== FIXED BUGS ====================
409 The following bugs have been fixed or resolved.  Note that "n-i-bz"
410 stands for "not in bugzilla" -- that is, a bug that was reported to us
411 but never got a bugzilla entry.  We encourage you to file bugs in
412 bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
413 than mailing the developers (or mailing lists) directly -- bugs that
414 are not entered into bugzilla tend to get forgotten about or ignored.
416 131186  writev reports error in (vector[...])
417 434764  iconv_open causes ld.so v2.28+ to use optimised strncmp
418 446754  Improve error codes from alloc functions under memcheck
419 452274  memcheck crashes with Assertion 'sci->status.what == SsIdle' failed
420 452779  Valgrind fails to build on FreeBSD 13.0 with llvm-devel (15.0.0)
421 453055  shared_timed_mutex drd test fails with "Lock shared failed" message
422 453602  Missing command line option to enable/disable debuginfod
423 452802  Handle lld 9+ split RW PT_LOAD segments correctly
424 454040  s390x: False-positive memcheck:cond in memmem on arch13 systems 
425 456171  [PATCH] FreeBSD: Don't record address errors when accessing the 'kern.ps_strings' sysctl struct
426 n-i-bz  Implement vgdb invoker on FreeBSD
427 458845  PowerPC: The L field for the dcbf and sync instruction should be
428         3 bits in ISA 3.1.
429 458915  Remove register cache to fix 458915 gdbserver causes wrong syscall return
430 459031  Documentation on --error-exitcode incomplete
431 459477  XERROR messages lacks ending '\n' in vgdb
432 462007  Implicit int in none/tests/faultstatus.c
434 To see details of a given bug, visit
435   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
436 where XXXXXX is the bug number as listed above.
438 (3.20.0.RC1: 20 Oct 2022)
441 Release 3.19.0 (11 Apr 2022)
442 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
444 This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,
445 PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
446 MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android,
447 X86/Solaris, AMD64/Solaris, AMD64/MacOSX 10.12, X86/FreeBSD and
448 AMD64/FreeBSD.  There is also preliminary support for X86/macOS 10.13,
449 AMD64/macOS 10.13 and nanoMIPS/Linux.
451 * ==================== CORE CHANGES ===================
453 * Fix Rust v0 name demangling.
454 * The Linux rseq syscall is now implemented as (silently) returning ENOSYS.
455 * Add FreeBSD syscall wrappers for __specialfd and __realpathat.
456 * Remove FreeBSD dependencies on COMPAT10, which fixes compatibility with HardenedBSD
458 * ================== PLATFORM CHANGES =================
460 * arm64:
461   - ignore the "v8.x" architecture levels, only look at actual CPU features
462     present. Fixes mismatch detected between RDMA and atomics features
463     preventing startup on some QEMU configurations.
464   - Implement LD{,A}XP and ST{,L}XP
465   - Fix incorrect code emitted for doubleword CAS.
467 * s390:
468   - Fix sys_ipc semtimedop syscall
469   - Fix VFLRX and WFLRX instructions
470   - Fix EXRL instruction with negative offset
472 * ppc64:
473   - Reimplement the vbpermq instruction support to generate less Iops and
474     avoid overflowing internal buffers.
475   - Fix checking for scv support to avoid "Facility 'SCV' unavailable (12),
476     exception" messages in dmsg.
477   - Fix setting condition code for Vector Compare quad word instructions.
478   - Fix fix lxsibzx, lxsihzx and lxsihzx instructions so they only load
479     their respective sized data.
480   - Fix the prefixed stq instruction in PC relative mode.
482 * ==================== TOOL CHANGES ===================
484 * Memcheck:
485   - Speed up --track-origins=yes for large (in the range of hundreds to
486     thousands of megabytes) mmap/munmaps.
487 * DRD/Helgrind:
488   - Several fixes for new versions of libstd++ using new posix try_lock
489     functions
491 * ==================== FIXED BUGS ====================
493 The following bugs have been fixed or resolved.  Note that "n-i-bz"
494 stands for "not in bugzilla" -- that is, a bug that was reported to us
495 but never got a bugzilla entry.  We encourage you to file bugs in
496 bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
497 than mailing the developers (or mailing lists) directly -- bugs that
498 are not entered into bugzilla tend to get forgotten about or ignored.
500 403802  leak_cpp_interior fails with some reachable blocks different than expected
501 435732  memcheck/tests/leak_cpp_interior fails with gcc11
502 444242  s390x: Valgrind crashes on EXRL with negative offset
503 444399  arm64: unhandled instruction 0xC87F2D89 (LD{,A}XP and ST{,L}XP).
504         == 434283
505 444481  gdb_server test failures on s390x
506 444495  dhat/tests/copy fails on s390x
507 444552  memcheck/tests/sem fails on s390x with glibc 2.34
508 444571  PPC, fix the lxsibzx and lxsihzx so they only load their respective
509         sized data.
510 444836  PPC, pstq instruction for R=1 is not storing to the correct address.
511 444925  fexecve syscall wrapper not properly implemented
512 445032  valgrind/memcheck crash with SIGSEGV when SIGVTALRM timer used and
513         libthr.so associated
514 445211  Fix out of tree builds
515 445300  [PATCH] Fix building tests with Musl
516 445011  SIGCHLD is sent when valgrind uses debuginfod-find
517 445354  arm64 backend: incorrect code emitted for doubleword CAS
518 445415  arm64 front end: alignment checks missing for atomic instructions
519 445504  Using C++ condition_variable results in bogus "mutex is locked simultaneously by two threads" warning
520 445607  Unhandled amd64-freebsd syscall: 247
521 445668  Inline stack frame generation is broken for Rust binaries
522 445916  Demangle Rust v0 symbols with .llvm suffix
523 446139  DRD/Helgrind with std::shared_timed_mutex::try_lock_until and try_lock_shared_until false positives
524 446138  DRD/Helgrind with std::timed_mutex::try_lock_until false positives
525 446281  Add a DRD suppression for fwrite
526 446103  Memcheck: `--track-origins=yes` causes extreme slowdowns for large mmap/munmap
527 446139  DRD/Helgrind with std::shared_timed_mutex::try_lock_until and try_lock_shared_until false
528 446251  TARGET_SIGNAL_THR added to enum target_signal
529 446823  FreeBSD - missing syscalls when using libzm4
530 447991  s390x: Valgrind indicates illegal instruction on wflrx
531 447995  Valgrind segfault on power10 due to hwcap checking code
532 449483  Powerpc: vcmpgtsq., vcmpgtuq,, vcmpequq. instructions not setting the
533         condition code correctly.
534 449672  ppc64 --track-origins=yes failures because of bad cmov addHRegUse
535 449838  sigsegv liburing the 'impossible' happened for io_uring_setup
536 450025  Powerc: ACC file not implemented as a logical overlay of the VSR
537         registers.
538 450437  Warn for execve syscall with argv or argv[0] being NULL
539 450536  Powerpc: valgrind throws 'facility scv unavailable exception'
540 451626  Syscall param bpf(attr->raw_tracepoint.name) points to unaddressable byte(s)
541 451827  [ppc64le] VEX temporary storage exhausted with several vbpermq instructions
542 451843  valgrind fails to start on a FreeBSD system which enforces W^X
544 To see details of a given bug, visit
545   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
546 where XXXXXX is the bug number as listed above.
548 (3.19.0.RC1: 02 Apr 2022)
549 (3.19.0.RC2: 08 Apr 2022)