On Wed, 2023-05-10 at 22:26 +0200, Ilya Leoshkevich wrote:
> [Apologies to people in To: and Cc:, who will get this the second
> time -
> I forgot to Cc: the mailing list initially.]
>
> Hi,
>
> this series partially implements the Host I/O feature of the GDB
> Remote
> Serial Protocol in order to make generate-core-file work with qemu-
> user.
> It borrows heavily from the abandoned patch by Dominik [1], hence 4/6
> carries the respective Co-developed-by: tag. I hope that's okay. I
> also
> peeked at gdbserver/hostio.cc quite a few times.
>
> The changes compared to Dominik's patch are:
>
> - Implement readlink.
> - Move the main functionality to user-target.c.
> - Allocate buffers on heap.
> - Add a test.
> - Update gdb.rst.
> - Split refactorings to the existing code into separate patches.
> - Rename do_openat() to do_guest_openat().
> - Do not retry pread(), since GDB is capable of doing it itself.
> - Add an extra sanity check to gdb_handle_query_xfer_exec_file().
> - Replace citations of the spec by a single link.
>
> Best regards,
> Ilya
>
> [1]
> https://lore.kernel.org/all/20220221030910.3203063-1-dominik.b.czarnota@gmail.com/
>
> Ilya Leoshkevich (6):
> linux-user: Expose do_guest_openat() and do_guest_readlink()
> gdbstub: Expose gdb_get_process() and
> gdb_get_first_cpu_in_process()
> gdbstub: Report the actual qemu-user pid
> gdbstub: Add support for info proc mappings
> docs: Document security implications of debugging
> tests/tcg: Add a test for info proc mappings
>
> docs/system/gdb.rst | 15 ++
> gdbstub/gdbstub.c | 86 ++++++++---
> gdbstub/internals.h | 7 +
> gdbstub/user-target.c | 139
> ++++++++++++++++++
> linux-user/qemu.h | 3 +
> linux-user/syscall.c | 54 ++++---
> tests/tcg/aarch64/Makefile.target | 3 +-
> tests/tcg/multiarch/Makefile.target | 7 +
> .../multiarch/gdbstub/test-proc-mappings.py | 55 +++++++
> tests/tcg/s390x/Makefile.target | 2 +-
> 10 files changed, 332 insertions(+), 39 deletions(-)
> create mode 100644 tests/tcg/multiarch/gdbstub/test-proc-mappings.py
Ping.