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 --- /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:https://www.valgrind.org/[Valgrind Home Page] URL: link:https://www.valgrind.org/[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[https://www.valgrind.org/docs/manual/dist.news.html] + +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.