v2: https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg02980.html v2 -> v3: Simplify the catchpoint state by making "don't catch" a subset of "catch some". Factor out several prep patches; Don't use snprintf; Add some comments (Alex).
v1: https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg02911.html v1 -> v2: Avoid touching the system gdbstub. Advertise QCatchSyscalls+ only on Linux. Hi, I noticed that GDB's "catch syscall" does not work with qemu-user. This series adds the missing bits in [1/2] and a test in [2/2]. I'm basing this on my other series, since it contains useful gdbstub test refactorings. Best regards, Ilya Ilya Leoshkevich (5): gdbstub: Expose TARGET_SIGTRAP in a target-agnostic way gdbstub: Allow specifying a reason in stop packets gdbstub: Add syscall entry/return hooks gdbstub: Implement catching syscalls tests/tcg: Add the syscall catchpoint gdbstub test gdbstub/gdbstub.c | 9 ++ gdbstub/internals.h | 2 + gdbstub/user-target.c | 5 + gdbstub/user.c | 108 +++++++++++++++++- include/gdbstub/user.h | 29 ++++- include/user/syscall-trace.h | 7 +- tests/tcg/multiarch/Makefile.target | 10 +- tests/tcg/multiarch/catch-syscalls.c | 51 +++++++++ tests/tcg/multiarch/gdbstub/catch-syscalls.py | 53 +++++++++ 9 files changed, 268 insertions(+), 6 deletions(-) create mode 100644 tests/tcg/multiarch/catch-syscalls.c create mode 100644 tests/tcg/multiarch/gdbstub/catch-syscalls.py -- 2.43.0