We are pleased to announce a new release of Valgrind, version 3.25.0,
available from https://valgrind.org/downloads/current.html.

This release adds initial support for RISCV64/Linux, the GDB remote
packet 'x', zstd compressed debug sections, Linux Test Project
testsuite integration, numerous fixes for Illumos, FreeBSD atexit
filters and getrlimitusage syscall support, Linux syscall support for
landlock*, io_pgetevents, open_tree, move_mount, fsopen, fsconfig,
fsmount, fspick, userfaultfd, s390x BPP, BPRP, PPA and NIAI instruction
support, --track-fds=yes improvements and a new --modify-fds=high
option, and an helgrind --check-cond-signal-mutex=yes|no option.

See the release notes below for details of the changes.

Our thanks to all those who contribute to Valgrind's development.  This
release represents a great deal of time, energy and effort on the part
of many people.

Happy and productive debugging and profiling,

-- The Valgrind Developers

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Release 3.25.0 (25 Apr 2025)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,
PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
MIPS64/Linux, RISCV64/Linux, ARM/Android, ARM64/Android, MIPS32/Android,
X86/Android, X86/Solaris, AMD64/Solaris, AMD64/MacOSX 10.12, X86/FreeBSD,
AMD64/FreeBSD and ARM64/FreeBSD There is also preliminary support for
X86/macOS 10.13, AMD64/macOS 10.13 and nanoMIPS/Linux.

* ==================== CORE CHANGES ===================

* The valgrind gdbserver now supports the GDB remote protocol packet
  'x addr,len' (available in GDB release >= 16).
  The x packet can reduce the time taken by GDB to read memory from valgrind.

* Valgrind now supports zstd compressed debug sections.

* The Linux Test Project (ltp) is integrated in the testsuite try
  'make ltpchecks' (this will take a while and will point out various
  missing syscalls and valgrind crashes!)

* ================== PLATFORM CHANGES =================

* Added RISCV64 support for Linux. Specifically for the RV64GC
  instruction set.

* Numerous bug fixes for Illumos, in particular fixed a Valgrind crash
  whenever a signal handler was called.

* On FreeBSD, a change to the libc code that runs atexit handlers was
  causing Helgrind to produce an extra error about exiting threads
  still holding locks for. This applied to every multithreaded application.
  The extra error is now filtered out. A syscall wrapper had been added
  for getrlimitusage.

* On Linux various new syscalls are supported (landlock*, io_pgetevents,
  open_tree, move_mount, fsopen, fsconfig, fsmount, fspick, userfaultfd).

* s390x has support for various new instructions (BPP, BPRP, PPA and NIAI).

* ==================== TOOL CHANGES ===================

* The --track-fds=yes and --track-fds=all options now treat all
  inherited file descriptors the same as 0, 1, 2 (stdin/out/err).
  And when the stdin/out/err descriptors are reassigned they are
  now treated as normal (non-inherited) file descriptors.

* A new option --modify-fds=high can be used together with
  --track-fds=yes to create new file descriptors with the highest
  possible number (and then decreasing) instead of always using the
  lowest possible number (which is required by POSIX). This will help
  catch issues where a file descriptor number might normally be reused
  between a close and another open call.

* Helgrind:
  There is a change to warnings about calls to pthread_cond_signal and
  pthread_cond_broadcast when the associated mutex is unlocked. Previously
  Helgrind would always warn about this. Now this error is controlled by
  a command line option, --check-cond-signal-mutex=yes|no. The default is
  no. This change has been made because some C and C++ standard libraries
  use pthread_cond_signal/pthread_cond_broadcast in this way. Users are
  obliged to use suppressions if they wish to avoid this noise.

* ==================== FIXED BUGS ====================

The following bugs have been fixed or resolved.  Note that "n-i-bz"
stands for "not in bugzilla" -- that is, a bug that was reported to us
but never got a bugzilla entry.  We encourage you to file bugs in
bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
than mailing the developers (or mailing lists) directly -- bugs that
are not entered into bugzilla tend to get forgotten about or ignored.

290061  pie elf always loaded at 0x108000
396415  Valgrind is not looking up $ORIGIN rpath of shebang programs
420682  io_pgetevents is not supported
468575  Add support for RISC-V
469782  Valgrind does not support zstd-compressed debug sections
487296  --track-fds=yes and --track-fds=all report erroneous information
        when fds 0, 1, or 2 are used as non-std
489913  WARNING: unhandled amd64-linux syscall: 444 (landlock_create_ruleset)
493433  Add --modify-fds=[no|high] option
494246  syscall fsopen not wrapped
494327  Crash when running Helgrind built with #define TRACE_PTH_FNS 1
494337  All threaded applications cause still holding lock errors
495488  Add FreeBSD getrlimitusage syscall wrapper
495816  s390x: Fix disassembler segfault for C[G]RT and CL[G]RT
495817  s390x: Disassembly to match objdump -d output
496370  Illumos: signal handling is broken
496571  False positive for null key passed to bpf_map_get_next_key syscall.
496950  s390x: Fix hardware capabilities and EmFail codes
497130  Recognize new DWARF5 DW_LANG constants
497455  Update drd/scripts/download-and-build-gcc
497723  Enabling Ada demangling breaks callgrind differentiation between
        overloaded functions and procedures
498037  s390x: Add disassembly checker
498143  False positive on EVIOCGRAB ioctl
498317  FdBadUse is not a valid CoreError type in a suppression
        even though it's generated by --gen-suppressions=yes
498421  s390x: support BPP, BPRP and NIAI insns
498422  s390x: Fix VLRL and VSTRL insns
498492  none/tests/amd64/lzcnt64 crashes on FreeBSD compiled with clang
498629  s390x: Fix S[L]HHHR and S[L]HHLR insns
498632  s390x: Fix LNGFR insn
498942  s390x: Rework s390_disasm interface
499183  FreeBSD: differences in avx-vmovq output
499212  mmap() with MAP_ALIGNED() returns unaligned pointer
501119  memcheck/tests/pointer-trace fails when run on NFS filesystem
501194  Fix ML_(check_macho_and_get_rw_loads) so that it is correct for
        any number of segment commands
501348  glibc built with -march=x86-64-v3 does not work due to ld.so memcmp
501479  Illumos DRD pthread_mutex_init wrapper errors
501365  syscall userfaultfd not wrapped
501846  Add x86 Linux shm wrappers
501850  FreeBSD syscall arguments 7 and 8 incorrect.
501893  Missing suppression for __wcscat_avx2 (strcat-strlen-avx2.h.S:68)?
502126  glibc 2.41 extra syscall_cancel frames
502288  s390x: Memcheck false positives with NNPA last tensor dimension
502324  s390x: Memcheck false positives with TMxx and TM/TMY
502679  Use LTP for testing valgrind
502871  Make Helgrind "pthread_cond_{signal,broadcast}: dubious: associated
        lock is not held by any thread" optional

To see details of a given bug, visit
  https://bugs.kde.org/show_bug.cgi?id=XXXXXX
where XXXXXX is the bug number as listed above.

(3.25.0.RC1: 18 Apr 2025)
(3.25.0.RC2: 23 Apr 2025)



_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to