git: 3ab15c9d20 - main - Status/2025Q3/valgrind.adoc: Add report

From: Lorenzo Salvadore <salvadore_at_FreeBSD.org>
Date: Thu, 16 Oct 2025 09:14:33 UTC
The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/doc/commit/?id=3ab15c9d2015e763c008e3577c4c57576581320c

commit 3ab15c9d2015e763c008e3577c4c57576581320c
Author:     Paul Floyd <pjfloyd@wanadoo.fr>
AuthorDate: 2025-09-26 17:02:12 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2025-10-16 09:13:44 +0000

    Status/2025Q3/valgrind.adoc: Add report
    
    Pull Request:   https://github.com/freebsd/freebsd-doc/pull/553
---
 .../en/status/report-2025-07-2025-09/valgrind.adoc | 53 ++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/website/content/en/status/report-2025-07-2025-09/valgrind.adoc b/website/content/en/status/report-2025-07-2025-09/valgrind.adoc
new file mode 100644
index 0000000000..d836878b21
--- /dev/null
+++ b/website/content/en/status/report-2025-07-2025-09/valgrind.adoc
@@ -0,0 +1,53 @@
+=== Valgrind: preparing for 15.0-RELEASE
+
+Links: +
+link:https://www.valgrind.org/[Valgrind Home Page] URL: link:https://www.valgrind.org/[] +
+link:https://www.valgrind.org/docs/manual/dist.news.html[Valgrind News] URL: link:https://www.valgrind.org/docs/manual/dist.news.html[] +
+link:https://github.com/paulfloyd/freebsdarm64_valgrind[arm64 port] URL: link:https://github.com/paulfloyd/freebsdarm64_valgrind[]
+
+Contact: Paul Floyd <pjfloyd@wanadoo.fr>
+
+I have not submitted any reports for over a year. On the whole that is good news as it means that there have not been any major issues. Back then I said that aarch64 support was about to land and indeed it dit in mid April 2024.
+
+I added a nice little script for use with Valgrind called `vgscript`. This works in a similar manner to `pstack` (or `bstack` on FreeBSD) in that you give it a PID and it will generate a stack trace for that process. If you use `bstack` with a Valgrind process you will see the Valgrind call stack which is probabably of no use to you. If you run `vgstack` with a Valgrind PID it will print the call stack of the test exe running under Valgrind.
+
+If you use Valgrind regularly could you take a look and answer the survey that I posted on the forums (if you have not done so already).
+Here is the link:https://forums.freebsd.org/threads/valgrind-feature-poll.98707/#post-716085[link].
+
+Valgrind 3.26 is due out at the end of October 2025 and package:devel/valgrind[] will be updated shortly after that.
+
+package:devel/valgrind-devel[] will get one (or maybe more) updates as I fix issues with FreeBSD 15.0.
+
+The oustanding issues that I have on FreeBSD 15.0 are
+* aarch64: there is a problem when using Valgrind with gdb/vgdb. Hitting ctrl-c to interrupt the process running under Valgrind does not work and Valgrind crashes with an assert.
+* aarch64: a known old issue that was infrequent regarding initialisation of thread memory now seems to occur much more often.
+* amd64: maybe similar to the first issue with gdb/vgdb and interrupting a process, but this time I'm seeing `select` return an 'impossible' value.
+* amd64: a test for `setcred` is getting an extra "Conditional jump" error message.
+
+Most of the above are not too serious unless you are a heavy user of gdb/vgdb.
+
+Here is a list of bugfixes since my last report, Q1 2024.
+
+* Several suppressions added for libc, libc++ and libstdc++ functions
+* Improvements to `setcontest` argument checking
+* Some more `aio_*` fixes
+* Syscall `_sysctlname` was checking the wrong length of the name argument
+* New syscall wrappers for `kcmp`, `getrlimitusage`, `close_range`, `fchroot`, `setcred`, `exterrctl`, `inotify_add_watch_at`, `inotify_rm_awtch`, `jail_attach_jd` and `jail_remove_jd`
+* Started adding better `ioctl` argument checking
+* Fixes to Valgrinds self-checking modes
+* Support aarch64 auxv AT_HWCAP, AT_CHERI_STATS, AT_HWCAP3 and AT_HWCAP4
+* Valgrind file descriptor checking has been significantly enhanced and this includes FreeBSD
+* Some old code that I could never test for FreeBSD 10 has been removed
+* Removed as much as possible FreeBSD version dependent code. This reduces everyday maintenance at the cost of making version-independent regression tests more difficult
+* Turn off check for lock created during text handling that will deliberately leak
+* Syscall `sigwait` was not correctly dealing with its atypical return value
+* Improved checking of `utrace` syscall arguments
+* amd64: syscall arguments 7 and 8 were swapped (it turns out that argument 8 is never needed and has been removed)
+* amd64: added `sysarch` subcommands `AMD64_SET_TLSBASE` and `AMD_GET_TLSBASE`
+* Reduced warnings that get printed in quiet (-q) mode
+* Improved checking done by `sysctl` kern.proc.pathname
+* Handle `mmap` MAP_STACK and MAP_GUARD
+* Syscalls `open*` now produce an error if you try to open the guest exe for writing
+* Syscalls `sigwait` and `sigwaitingfo` were too lax in accepting NULL arguments
+* Many of the `*at` system calls (like `faccessat`) were not checking that the directory fd is not one of the file descriptors reserved for Valgrind's use
+* Function `memalign` now accepts a size of zero