[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 0/8] gdbstub: Add support for info proc mappings
From: |
Ilya Leoshkevich |
Subject: |
[PATCH v3 0/8] gdbstub: Add support for info proc mappings |
Date: |
Tue, 6 Jun 2023 15:27:35 +0200 |
v2: https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg06837.html
v2 -> v3: Use openat() instead of safe_openat() (new patch: 2/8).
Add /proc/self/smaps emulation (new patch: 3/8).
With these 2 changes, the minor issues previously mentioned in
the patch 6/8 are gone.
v1: https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg02614.html
v1 -> v2: Reword the 5/6 commit message (Dominik).
Add R-bs.
Patches that need review:
4/6 gdbstub: Add support for info proc mappings
6/6 tests/tcg: Add a test for info proc mappings
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
Ilya Leoshkevich (8):
linux-user: Expose do_guest_openat() and do_guest_readlink()
linux-user: Add "safe" parameter to do_guest_openat()
linux-user: Emulate /proc/self/smaps
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 | 128 +++++++++++++---
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, 401 insertions(+), 44 deletions(-)
create mode 100644 tests/tcg/multiarch/gdbstub/test-proc-mappings.py
--
2.40.1
- [PATCH v3 0/8] gdbstub: Add support for info proc mappings,
Ilya Leoshkevich <=
- [PATCH v3 5/8] gdbstub: Report the actual qemu-user pid, Ilya Leoshkevich, 2023/06/06
- [PATCH v3 4/8] gdbstub: Expose gdb_get_process() and gdb_get_first_cpu_in_process(), Ilya Leoshkevich, 2023/06/06
- [PATCH v3 3/8] linux-user: Emulate /proc/self/smaps, Ilya Leoshkevich, 2023/06/06
- [PATCH v3 7/8] docs: Document security implications of debugging, Ilya Leoshkevich, 2023/06/06
- [PATCH v3 1/8] linux-user: Expose do_guest_openat() and do_guest_readlink(), Ilya Leoshkevich, 2023/06/06