https://sourceware.org/cgit/valgrind/commit/?id=7068b807905af87729a66d192f7c10247c42212f
commit 7068b807905af87729a66d192f7c10247c42212f
Author: Paul Floyd <pj...@wa...>
Date: Sat Oct 11 13:01:03 2025 +0200
gdbserver doc: add some comments about the invoker implementations.
Diff:
---
gdbserver_tests/README_DEVELOPERS | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/gdbserver_tests/README_DEVELOPERS b/gdbserver_tests/README_DEVELOPERS
index 250c14326b..0a9f2846f6 100644
--- a/gdbserver_tests/README_DEVELOPERS
+++ b/gdbserver_tests/README_DEVELOPERS
@@ -30,11 +30,27 @@ if testing with a lower version).
Test behaviour with gdb < 7.0 is unknown: some might fail,
some might block or loop for a very long time.
-Some tests implies to have a vgdb "ptrace invoker" capable.
+Some tests imply having the vgdb "ptrace invoker" capability.
The prerequisite are established during make regtest (using marker files).
Each test verifies the prerequisite using the prereq: line.
+The invoker is implemented as follows on the currently supported OSes.
+
+------------------------------------------------------------
+| Linux | ptrace | vgdb-invoker-ptrace.c |
+| FreeBSD | ptrace | vgdb-invoker-freebsd.c |
+| Solaris | process control files | vgdb-invoker-solaris.c |
+| Darwin | not implemented | vgdb-invoker-none.c |
+------------------------------------------------------------
+
+The source files are all in coregrind/. ptrace is not part of any
+standardised interface like POSIX. That means that the Linux and
+FreeBSD implementations are very similar but there are some
+differences. Darwin not having an invoker means that it is not possible
+to interrupt Valgrind attached to GDB if it hangs. You will need to
+kill Valgrind and start again if that happens.
+
In case of failing tests
------------------------
When executed with a new gdb version and/or depending on the OS version,
|