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