All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] gdbstub: Allow late attachment
@ 2024-10-24 19:59 Ilya Leoshkevich
  2024-10-24 19:59 ` [PATCH 1/8] gdbstub: Allow the %d placeholder in the socket path Ilya Leoshkevich
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: Ilya Leoshkevich @ 2024-10-24 19:59 UTC (permalink / raw)
  To: Warner Losh, Riku Voipio, Laurent Vivier, Paolo Bonzini,
	Richard Henderson
  Cc: Kyle Evans, Philippe Mathieu-Daudé, qemu-devel,
	Ilya Leoshkevich

Hi,

This series adds the ability to attach GDB to a running qemu-user
instance. This is useful for debugging multi-process apps.

Patches 1 and 2 implement a small related feature: the ability to
create individual UNIX sockets for each child process.

Patches 3-5 add the required infrastructure. In particular, we need
to reserve a host signal for waking up threads, as discussed in [1].
By the way, the problem with atomicity of checking for pending signals
and invoking syscalls that I'm describing in that thread seems to
have already been solved by the safe_syscall infrastructure, so the
changes are fairly simple.

If this series is accepted, I will rebase the all-stop series on top
of it.

Patch 6 is the implementation, patch 7 is a documentation update,
patch 8 is a test. I tested this series on Linux and only
compile-tested on the BSDs.

Best regards,
Ilya

[1] https://lore.kernel.org/qemu-devel/94ebebf2-e775-4fd2-8fcf-921610261a7e@linaro.org/

Ilya Leoshkevich (8):
  gdbstub: Allow the %d placeholder in the socket path
  gdbstub: Try unlinking the unix socket before binding
  user: Introduce user/signal.h
  user: Introduce host_interrupt_signal
  osdep: Introduce qemu_kill_thread()
  gdbstub: Allow late attachment
  docs/user: Document the %d placeholder and suspend=n QEMU_GDB features
  tests/tcg: Add late gdbstub attach test

 bsd-user/main.c                            |   1 -
 bsd-user/signal-common.h                   |   1 -
 bsd-user/signal.c                          |  13 ++
 docs/user/main.rst                         |  16 ++-
 gdbstub/user.c                             | 131 +++++++++++++++++++--
 include/qemu/osdep.h                       |   9 ++
 include/user/signal.h                      |  25 ++++
 linux-user/main.c                          |   1 -
 linux-user/signal-common.h                 |   1 -
 linux-user/signal.c                        |  12 ++
 linux-user/syscall.c                       |   1 +
 tests/guest-debug/run-test.py              |  15 ++-
 tests/tcg/multiarch/Makefile.target        |   9 +-
 tests/tcg/multiarch/gdbstub/late-attach.py |  28 +++++
 tests/tcg/multiarch/late-attach.c          |  41 +++++++
 util/oslib-posix.c                         |  15 +++
 16 files changed, 299 insertions(+), 20 deletions(-)
 create mode 100644 include/user/signal.h
 create mode 100644 tests/tcg/multiarch/gdbstub/late-attach.py
 create mode 100644 tests/tcg/multiarch/late-attach.c

-- 
2.47.0



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-11-05 23:53 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-24 19:59 [PATCH 0/8] gdbstub: Allow late attachment Ilya Leoshkevich
2024-10-24 19:59 ` [PATCH 1/8] gdbstub: Allow the %d placeholder in the socket path Ilya Leoshkevich
2024-11-05 14:41   ` Richard Henderson
2024-11-05 15:04     ` Warner Losh
2024-10-24 19:59 ` [PATCH 2/8] gdbstub: Try unlinking the unix socket before binding Ilya Leoshkevich
2024-10-24 19:59 ` [PATCH 3/8] user: Introduce user/signal.h Ilya Leoshkevich
2024-11-05 14:43   ` Richard Henderson
2024-11-05 15:05   ` Warner Losh
2024-10-24 19:59 ` [PATCH 4/8] user: Introduce host_interrupt_signal Ilya Leoshkevich
2024-11-05 14:45   ` Richard Henderson
2024-11-05 15:39   ` Warner Losh
2024-11-05 15:50     ` Ilya Leoshkevich
2024-11-05 22:30       ` Richard Henderson
2024-11-05 22:48         ` Ilya Leoshkevich
2024-11-05 23:53           ` Warner Losh
2024-10-24 19:59 ` [PATCH 5/8] osdep: Introduce qemu_kill_thread() Ilya Leoshkevich
2024-11-05 14:49   ` Richard Henderson
2024-11-05 15:42   ` Warner Losh
2024-10-24 19:59 ` [PATCH 6/8] gdbstub: Allow late attachment Ilya Leoshkevich
2024-10-24 19:59 ` [PATCH 7/8] docs/user: Document the %d placeholder and suspend=n QEMU_GDB features Ilya Leoshkevich
2024-10-24 19:59 ` [PATCH 8/8] tests/tcg: Add late gdbstub attach test Ilya Leoshkevich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.