From 8a545a3684024f4a54bb20b7ad1d0fe9949bbede Mon Sep 17 00:00:00 2001 From: Paul Floyd Date: Fri, 1 Sep 2023 08:26:24 +0200 Subject: [PATCH] FreeBSD: add common failure causes to README.freebsd Also fix the name of one of the fields of vki_kinfo_vmentry. --- README.freebsd | 15 ++++++++++++++- coregrind/m_aspacemgr/aspacemgr-linux.c | 2 +- include/vki/vki-freebsd.h | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/README.freebsd b/README.freebsd index eb6a510ad..ce1e435f5 100644 --- a/README.freebsd +++ b/README.freebsd @@ -130,7 +130,20 @@ These are much easier. They just contain a POST_MEM_WRITE macro for each output argument. -1. Running regression tests +1. Frequent causes of problems + +- New _umtx_op codes. Valgrind will print "WARNING: _umtx_op unsupported value". + See syswrap-freebsd.c and add new cases for the new codes. +- Additions to auxv. Depending on the entry it may need to be simply copied + from the host to the guest, it may need to be modified for the guest or + it may need to be ignored. See initimg-freebsd.c. +- ELF PT_LOAD mappings. Either Valgrind will assert or there will be no source + information in error reports. See VG_(di_notify_mmap) in debuginfo.c +- Because they contain many deliberate errors the regression tests are prone + to change with changes of compiler. Liberal use of 'volatile' and + '-Wno-warning-flag' can help - see configure.ac + +2. Running regression tests In order to run all of the regression tests you will need to install the following packages diff --git a/coregrind/m_aspacemgr/aspacemgr-linux.c b/coregrind/m_aspacemgr/aspacemgr-linux.c index ae38d8bd0..ba8964928 100644 --- a/coregrind/m_aspacemgr/aspacemgr-linux.c +++ b/coregrind/m_aspacemgr/aspacemgr-linux.c @@ -3943,7 +3943,7 @@ static void parse_procselfmaps ( endPlusOne = (UWord)kve->kve_end; foffset = kve->kve_offset; filename = kve->kve_path; - dev = kve->kve_fsid_freebsd11; + dev = kve->kve_vn_fsid_freebsd11; ino = kve->kve_fileid; if (filename[0] != '/') { filename = NULL; diff --git a/include/vki/vki-freebsd.h b/include/vki/vki-freebsd.h index 92ca8a687..b30b2933e 100644 --- a/include/vki/vki-freebsd.h +++ b/include/vki/vki-freebsd.h @@ -2170,7 +2170,7 @@ struct vki_kinfo_vmentry { ULong kve_end; ULong kve_offset; ULong kve_fileid; - UInt kve_fsid_freebsd11; + UInt kve_vn_fsid_freebsd11; int kve_flags; int kve_resident; int kve_private_resident; -- 2.11.4.GIT