]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
gdbserver doc: add some comments about the invoker implementations.
authorPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 11 Oct 2025 11:01:03 +0000 (13:01 +0200)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 11 Oct 2025 11:01:03 +0000 (13:01 +0200)
gdbserver_tests/README_DEVELOPERS

index 250c14326bfcec8256cef63e523bf012da27581b..0a9f2846f6552ba6da0a68a4cb312db220957484 100644 (file)
@@ -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,