qemu/gdbstub
Ilya Leoshkevich 046f143c51 gdbstub: Implement catching syscalls
GDB supports stopping on syscall entry and exit using the "catch
syscall" command. It relies on 3 packets, which are currently not
supported by QEMU:

* qSupported:QCatchSyscalls+ [1]
* QCatchSyscalls: [2]
* T05syscall_entry: and T05syscall_return: [3]

Implement generation and handling of these packets.

[1] https://sourceware.org/gdb/current/onlinedocs/gdb.html/General-Query-Packets.html#qSupported
[2] https://sourceware.org/gdb/current/onlinedocs/gdb.html/General-Query-Packets.html#QCatchSyscalls
[3] https://sourceware.org/gdb/current/onlinedocs/gdb.html/Stop-Reply-Packets.html

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240202152506.279476-5-iii@linux.ibm.com>
[AJB: GString -> g_strdup_printf]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240207163812.3231697-14-alex.bennee@linaro.org>
2024-02-09 17:52:40 +00:00
..
gdbstub.c gdbstub: Implement catching syscalls 2024-02-09 17:52:40 +00:00
internals.h gdbstub: Implement catching syscalls 2024-02-09 17:52:40 +00:00
meson.build meson: remove config_targetos 2023-12-31 09:11:28 +01:00
syscalls.c gdbstub: Build syscall.c once 2023-03-07 20:44:09 +00:00
system.c gdbstub: use a better signal when we halt for IO reasons 2023-12-01 14:00:52 +00:00
trace-events gdbstub: Rename 'softmmu' -> 'system' 2023-10-07 19:02:59 +02:00
trace.h
user-target.c gdbstub: Expose TARGET_SIGTRAP in a target-agnostic way 2024-02-09 17:52:40 +00:00
user.c gdbstub: Implement catching syscalls 2024-02-09 17:52:40 +00:00