qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/11] gdbstub: Implement follow-fork-mode child
@ 2024-02-05 11:22 Ilya Leoshkevich
  2024-02-05 11:22 ` [PATCH v2 01/11] gdbstub: Support disablement in a multi-threaded process Ilya Leoshkevich
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Ilya Leoshkevich @ 2024-02-05 11:22 UTC (permalink / raw)
  To: Warner Losh, Alex Bennée, Laurent Vivier
  Cc: Kyle Evans, Philippe Mathieu-Daudé, qemu-devel,
	Ilya Leoshkevich

Based-on: <20240202152506.279476-1-iii@linux.ibm.com>
("[PATCH v3 0/5] gdbstub: Implement catching syscalls")

v1: https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg06646.html
v1 -> v2: Factor out a number of prep patches;
          Add a state transition diagram comment (Alex).
          Improve a few comments;
          Extend the ts_tid fix to bsd.

Hi,

I needed to debug a linux-user crash between fork() and exec() [1] and
realized that gdbstub does not allow this. This series lifts this
restriction (one still cannot debug past exec() though). Patches 1-9
are preliminary refactorings, patch 10 is the implementation, and patch
11 is the test.

[1] https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg06424.html

Best regards,
Ilya

Ilya Leoshkevich (11):
  gdbstub: Support disablement in a multi-threaded process
  {linux,bsd}-user: Update ts_tid after fork()
  gdbstub: Introduce gdbserver_fork_start()
  {linux,bsd}-user: Pass pid to fork_end()
  {linux,bsd}-user: Pass pid to gdbserver_fork()
  gdbstub: Call gdbserver_fork() both in parent and in child
  gdbstub: Introduce gdb_handle_query_supported_user()
  gdbstub: Introduce gdb_handle_set_thread_user()
  gdbstub: Introduce gdb_handle_detach_user()
  gdbstub: Implement follow-fork-mode child
  tests/tcg: Add two follow-fork-mode tests

 bsd-user/freebsd/os-proc.h                    |   6 +-
 bsd-user/main.c                               |   9 +-
 bsd-user/qemu.h                               |   2 +-
 gdbstub/gdbstub.c                             |  29 ++-
 gdbstub/internals.h                           |   3 +
 gdbstub/user.c                                | 244 +++++++++++++++++-
 include/gdbstub/user.h                        |  11 +-
 linux-user/main.c                             |   8 +-
 linux-user/syscall.c                          |   6 +-
 linux-user/user-internals.h                   |   2 +-
 tests/tcg/multiarch/Makefile.target           |  17 +-
 tests/tcg/multiarch/follow-fork-mode.c        |  56 ++++
 .../gdbstub/follow-fork-mode-child.py         |  40 +++
 .../gdbstub/follow-fork-mode-parent.py        |  16 ++
 14 files changed, 424 insertions(+), 25 deletions(-)
 create mode 100644 tests/tcg/multiarch/follow-fork-mode.c
 create mode 100644 tests/tcg/multiarch/gdbstub/follow-fork-mode-child.py
 create mode 100644 tests/tcg/multiarch/gdbstub/follow-fork-mode-parent.py

-- 
2.43.0



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

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

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-05 11:22 [PATCH v2 00/11] gdbstub: Implement follow-fork-mode child Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 01/11] gdbstub: Support disablement in a multi-threaded process Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 02/11] {linux,bsd}-user: Update ts_tid after fork() Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 03/11] gdbstub: Introduce gdbserver_fork_start() Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 04/11] {linux,bsd}-user: Pass pid to fork_end() Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 05/11] {linux,bsd}-user: Pass pid to gdbserver_fork() Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 06/11] gdbstub: Call gdbserver_fork() both in parent and in child Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 07/11] gdbstub: Introduce gdb_handle_query_supported_user() Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 08/11] gdbstub: Introduce gdb_handle_set_thread_user() Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 09/11] gdbstub: Introduce gdb_handle_detach_user() Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 10/11] gdbstub: Implement follow-fork-mode child Ilya Leoshkevich
2024-02-05 11:22 ` [PATCH v2 11/11] tests/tcg: Add two follow-fork-mode tests Ilya Leoshkevich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).