[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/29] {linux,bsd}-user: Pass pid to gdbserver_fork()
From: |
Alex Bennée |
Subject: |
[PULL 07/29] {linux,bsd}-user: Pass pid to gdbserver_fork() |
Date: |
Wed, 6 Mar 2024 14:40:19 +0000 |
From: Ilya Leoshkevich <iii@linux.ibm.com>
The upcoming follow-fork-mode child support requires knowing the child
pid. Pass it down.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-7-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-8-alex.bennee@linaro.org>
diff --git a/include/gdbstub/user.h b/include/gdbstub/user.h
index e33f8d9a9a6..3f9f45946e0 100644
--- a/include/gdbstub/user.h
+++ b/include/gdbstub/user.h
@@ -54,7 +54,7 @@ void gdbserver_fork_start(void);
* gdbserver_fork() - disable gdb stub for child processes.
* @cs: CPU
*/
-void gdbserver_fork(CPUState *cs);
+void gdbserver_fork(CPUState *cs, pid_t pid);
/**
* gdb_syscall_entry() - inform gdb of syscall entry and yield control to it
diff --git a/bsd-user/main.c b/bsd-user/main.c
index fca9b302043..0dbd1cf8801 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -138,7 +138,7 @@ void fork_end(pid_t pid)
*/
qemu_init_cpu_list();
get_task_state(thread_cpu)->ts_tid = qemu_get_thread_id();
- gdbserver_fork(thread_cpu);
+ gdbserver_fork(thread_cpu, pid);
} else {
mmap_fork_end(child);
cpu_list_unlock();
diff --git a/gdbstub/user.c b/gdbstub/user.c
index 536fb43b03e..c61e1a0d1f6 100644
--- a/gdbstub/user.c
+++ b/gdbstub/user.c
@@ -375,7 +375,7 @@ static void disable_gdbstub(CPUState *thread_cpu)
}
/* Disable gdb stub for child processes. */
-void gdbserver_fork(CPUState *cpu)
+void gdbserver_fork(CPUState *cpu, pid_t pid)
{
if (!gdbserver_state.init || gdbserver_user_state.fd < 0) {
return;
diff --git a/linux-user/main.c b/linux-user/main.c
index cab95f5b0aa..70314e0ab6a 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -165,7 +165,7 @@ void fork_end(pid_t pid)
}
qemu_init_cpu_list();
get_task_state(thread_cpu)->ts_tid = qemu_get_thread_id();
- gdbserver_fork(thread_cpu);
+ gdbserver_fork(thread_cpu, pid);
} else {
cpu_list_unlock();
}
--
2.39.2
- [PULL 05/29] gdbstub: Introduce gdbserver_fork_start(), (continued)
- [PULL 05/29] gdbstub: Introduce gdbserver_fork_start(), Alex Bennée, 2024/03/06
- [PULL 02/29] gdbstub: Support disablement in a multi-threaded process, Alex Bennée, 2024/03/06
- [PULL 10/29] gdbstub: Introduce gdb_handle_set_thread_user(), Alex Bennée, 2024/03/06
- [PULL 04/29] {linux,bsd}-user: Update ts_tid after fork(), Alex Bennée, 2024/03/06
- [PULL 06/29] {linux,bsd}-user: Pass pid to fork_end(), Alex Bennée, 2024/03/06
- [PULL 09/29] gdbstub: Introduce gdb_handle_query_supported_user(), Alex Bennée, 2024/03/06
- [PULL 08/29] gdbstub: Call gdbserver_fork() both in parent and in child, Alex Bennée, 2024/03/06
- [PULL 12/29] gdbstub: Implement follow-fork-mode child, Alex Bennée, 2024/03/06
- [PULL 11/29] gdbstub: Introduce gdb_handle_detach_user(), Alex Bennée, 2024/03/06
- [PULL 07/29] {linux,bsd}-user: Pass pid to gdbserver_fork(),
Alex Bennée <=
- [PULL 16/29] plugins: implement inline operation relative to cpu_index, Alex Bennée, 2024/03/06
- [PULL 03/29] {linux,bsd}-user: Introduce get_task_state(), Alex Bennée, 2024/03/06
- [PULL 01/29] tests: bump QOS_PATH_MAX_ELEMENT_SIZE again, Alex Bennée, 2024/03/06
- [PULL 18/29] tests/plugin: add test plugin for inline operations, Alex Bennée, 2024/03/06
- [PULL 19/29] tests/plugin/mem: migrate to new per_vcpu API, Alex Bennée, 2024/03/06
- [PULL 14/29] plugins: scoreboard API, Alex Bennée, 2024/03/06
- [PULL 15/29] plugins: define qemu_plugin_u64, Alex Bennée, 2024/03/06
- [PULL 13/29] tests/tcg: Add two follow-fork-mode tests, Alex Bennée, 2024/03/06
- [PULL 17/29] plugins: add inline operation per vcpu, Alex Bennée, 2024/03/06
- [PULL 25/29] plugins: cleanup codepath for previous inline operation, Alex Bennée, 2024/03/06