git: dff50bc55d - main - Status/2023Q1: Add Valgrind report

From: Lorenzo Salvadore <>
Date: Thu, 16 Mar 2023 19:35:41 UTC
The branch main has been updated by salvadore:


commit dff50bc55d981f683eecd5b060611f2b66bc06f6
Author:     Paul Floyd <>
AuthorDate: 2023-03-16 18:24:27 +0000
Commit:     Lorenzo Salvadore <>
CommitDate: 2023-03-16 18:31:50 +0000

    Status/2023Q1: Add Valgrind report
    Reviewed by:    Pau Amma <>
    Pull Request:
    Differential Revision:
 .../en/status/report-2023-01-2023-03/valgrind.adoc | 29 ++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/website/content/en/status/report-2023-01-2023-03/valgrind.adoc b/website/content/en/status/report-2023-01-2023-03/valgrind.adoc
new file mode 100644
index 0000000000..989b880182
--- /dev/null
+++ b/website/content/en/status/report-2023-01-2023-03/valgrind.adoc
@@ -0,0 +1,29 @@
+=== Valgrind - Preparing for Valgrind 3.21
+Links: +
+link:[Valgrind Home Page] URL: link:[] +
+link:[Valgrind News] URL: link:[]
+Contact: Paul Floyd <>
+The package:devel/valgrind-devel[] port had an intermediate update which was submitted on 2023-02-20.
+This contains most of what will be in the official release of Valgrind 3.21 which is due out shortly after this status report.
+There is a nice improvement to the vgdb interface.
+It's now much easier to see which bits of memory are initialized or not.
+There are a couple of fixes to the thread checks done by Helgrind.
+For FreeBSD specifically, the address space limit has been raised to be the same as Linux and Solaris on amd64.
+It was 32Gbytes and now it is 128Gbytes.
+The `kern.proc.pathname.PID` man:sysctl[3] has been fixed so that it returns the path of the guest exe and not that of the Valgrind host.
+At the same time I fixed some `_umtx_op` false positives and corrected auxv `AT_EXECPATH` in a way similar to `kern.proc.pathname.PID`.
+Syscall wrappers have been added for man:sctp_generic_sendmsg[2] and man:sctp_generic_recvmsg[2].
+Not yet available in the ports versions of Valgrind, there is a workaround for the use of man:rfork[2].
+Previously, since it is not supported, it would cause Valgrind to abort.
+Now it fails gracefully setting either EINVAL or ENOSYS.
+The main use of this system call is in man:posix_spawn[3], which will fall back to using man:vfork[2].
+The man:mknodat[2] syscall wrapper was incorrectly implemented on i386 and has now been fixed.
+There is a reworking of all of the aligned allocation functions so that they behave less like Linux glibc and more like the Valgrind build platform.