|
From: Mark W. <ma...@kl...> - 2026-10-23 22:40:41
|
We are pleased to announce a new release of Valgrind, version 3.28.0, available from https://valgrind.org/downloads/current.html This release should bring joy to x86 (32bit) users with support for SSE4.1, SSE4.2, POPCNT and LZCNT. There is a new client request VALGRIND_RUNNING_VERSION. Support for zstd has been updated to version 1.5.7. arm64 now supports the EOR3 instruction. s390x implements DIDBR and DIEBR instructions. macOS 10.14 Mojave (x86) is now supported, thanks to the addition of SSE4.1 support on x86. linux ioctl UFFDIO_* are recognized for userfaultfd support. The Linux Test Project (LTP) v20260930 was integrated. The massif ms_print script has a new --peak-only 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 with 185 commits by 16 people, fixing 43 bugs. Happy and productive debugging and profiling, -- The Valgrind Developers Release 3.28.0 (23 Oct 2026) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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, X86/macOS, AMD64/macOS. X86/FreeBSD, AMD64/FreeBSD and ARM64/FreeBSD. There is preliminary support for nanoMIPS/Linux. macOS is supported up to version 13 Ventura (amd64 only). * ==================== CORE CHANGES =================== * There is a new client request - VALGRIND_RUNNING_VERSION returns the Valgrind version that the guest executable is running under. The value returned is a decimal value in the form Mmm where M is the major version and mm is the minor version. For instance, this release returns 328. Returns 0 if the executable is not running under Valgrind, or is running under a version older than 3.28. * Support for zstd compressed debug sections has been updated to zstd version 1.5.7. * ================== PLATFORM CHANGES ================= * x86: Support for SSE4.1 and SSE4.2 instructions has been ported from AMD64 to (32bit) x86. Valgrind will now advertise support for SSE4.1, SSE4.2, POPCNT and LZCNT through cpuid emulation if the host cpu supports those instruction sets (e.g. when 32bit x86 code runs on x86_64). * arm64: Add support for the EOR3 instruction. * s390x: Implement DIDBR and DIEBR instructions. * macOS 10.14 Mojave (x86) is now supported, thanks to the addition of SSE4.1 support on x86. * linux ioctl UFFDIO_* are recognized for userfaultfd support. Add support for the open_tree_attr syscall. * The Linux Test Project (LTP) v20260930 was integrated. * ==================== TOOL CHANGES =================== * The massif ms_print script used to view results as text has a new --peak-only option. This is intended for use in Continuous Integration systems, making peak memory usage easier to parse. * ==================== 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. 271615 Unhandled instruction "popcnt" on x86 295974 Add SSE4.1 PEXTRD instruction for x86 32 bit 338365 New client request to fetch valgrind version 387080 Add --peak-only option to ms_print 391311 Fix arm64 valgrind tests compilation with clang 438640 vex x86->IR: unhandled instruction bytes: 0xF2 0xF 0x38 0xF1 (CRC, SSE4.2) 519223 Recognize ioctl(UFFDIO_*) operations 519539 Darwin shm_open mode is optional and depends on oflag 519574 valgrind 3.27 "--fair-sched=yes" does not work 519613 Valgrind incorrectly unpacks the result of sys_port (port_getn) on error, leading to a ~60s wallclock time delay on every call 518217 Add PHMINPOSUW SSE4.1 support for x86 518218 Add PMULDQ SSE4.1 support for x86 518219 Add DPPS, DPPD SSE4.1 support for x86 518220 Add ROUNDPS, ROUNDSS, ROUNDPD, ROUNDSD SSE4.1 support for x86 518221 Implement PMOVSXBW, PMOVZXBW, PMOVSXBD, PMOVZXBD, PMOVSXBQ, PMOVZXBQ, PMOVSXWD, PMOVZXWD, PMOVSXWQ, PMOVZXWQ, PMOVSXDQ, PMOVZXDQ SSE4.1 for x86 518222 SSE4.1 support for x86 (32bit) 520482 Advertise POPCNT on x86 via CPUID 520753 Advertise LZCNT via CPUID for x86 (32-bit) clients 520856 unhandled instruction bytes: 0x2E 0xFF 0x14 0x85 520861 Update FAQ for C++ standard library 521027 Advertise LZCNT on amd64 via CPUID 521054 Unhandled amd64-linux syscall: 467 (open_tree_attr) 521259 Improve check_makefile_consistency 521332 vex x86->IR: unhandled instruction bytes: 66 0F 38 37 (PCMPGTQ) 521413 Add PCMPxSTRx support for x86 521414 SSE4.2 support for x86 (32bit) 522160 Robustify the flags check in the none/tests/x86/crc32 test 522533 Valgrind can't handle some encoding from gas trunk with -Wa,-O2 523096 Add INSERTPS, PINSRB, PINSRW SSE4.1 support for x86 523097 Add EXTRACTPS, PEXTRB, PEXTRW SSE4.1 support for x86 523375 Fix none/tests/amd64/pcmpxstrx64.c 523434 Memcheck: false "Conditional jump depends on uninitialised value" for unsigned compares of partially-defined words (clang bitfield idiom) 523626 Fix sse4-x86 test fails when valgrind compiled with clang 523843 Ensure the stack alignment in doHelperCall [x86] 524312 Add support for illumos spawn(2) 525478 Valgrind's vgdb extended-remote mode broken on aarch64 526075 Tool link fails against a libgcc built without optimisation: undefined reference to _Unwind_Resume / __gcc_personality_v0 526648 --track-fds=yes with forkpty() causes a false positive 526840 Update the LTP version in valgrind testsuite to 20260930 526974 Fix do_mremap() retval for old_size > VMA size 527258 PPC: Fix r10 collision in 8-argument dirty helper calls 527283 Add support for illumos close_range 527268 Clean up unhandled client request traces 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.28.0.RC1: 20 Oct 2026) |