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

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

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

commit dff50bc55d981f683eecd5b060611f2b66bc06f6
Author:     Paul Floyd <pjfloyd@wanadoo.fr>
AuthorDate: 2023-03-16 18:24:27 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2023-03-16 18:31:50 +0000

    Status/2023Q1: Add Valgrind report
    
    Reviewed by:    Pau Amma <pauamma@gundo.com>
    Pull Request:   https://github.com/freebsd/freebsd-doc/pull/120/files
    Differential Revision:  https://reviews.freebsd.org/D39022
---
 .../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: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 <pjfloyd@wanadoo.fr>
+
+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.