[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 0/8] gdbstub: Add support for info proc mappings
From: |
Ilya Leoshkevich |
Subject: |
[PATCH v4 0/8] gdbstub: Add support for info proc mappings |
Date: |
Wed, 21 Jun 2023 22:36:19 +0200 |
v3: https://lists.gnu.org/archive/html/qemu-devel/2023-06/msg01311.html
v3 -> v4: Fix the 32-bit build (Alex).
Enable the test on all architectures and ignore certain
expected failures (Alex). I tried this with the latest
gdb-multiarch and it works. The only skip is on x86_64,
as expected.
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 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/multiarch/Makefile.target | 9 +-
.../multiarch/gdbstub/test-proc-mappings.py | 65 ++++++++
8 files changed, 409 insertions(+), 43 deletions(-)
create mode 100644 tests/tcg/multiarch/gdbstub/test-proc-mappings.py
--
2.40.1
- [PATCH v4 0/8] gdbstub: Add support for info proc mappings,
Ilya Leoshkevich <=
- [PATCH v4 1/8] linux-user: Expose do_guest_openat() and do_guest_readlink(), Ilya Leoshkevich, 2023/06/21
- [PATCH v4 2/8] linux-user: Add "safe" parameter to do_guest_openat(), Ilya Leoshkevich, 2023/06/21
- [PATCH v4 3/8] linux-user: Emulate /proc/self/smaps, Ilya Leoshkevich, 2023/06/21
- [PATCH v4 4/8] gdbstub: Expose gdb_get_process() and gdb_get_first_cpu_in_process(), Ilya Leoshkevich, 2023/06/21
- [PATCH v4 5/8] gdbstub: Report the actual qemu-user pid, Ilya Leoshkevich, 2023/06/21
- [PATCH v4 7/8] docs: Document security implications of debugging, Ilya Leoshkevich, 2023/06/21
- [PATCH v4 8/8] tests/tcg: Add a test for info proc mappings, Ilya Leoshkevich, 2023/06/21
- [PATCH v4 6/8] gdbstub: Add support for info proc mappings, Ilya Leoshkevich, 2023/06/21
- Re: [PATCH v4 0/8] gdbstub: Add support for info proc mappings, Alex Bennée, 2023/06/27