summaryrefslogtreecommitdiff
path: root/gdb/infrun.c
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2023-04-03 14:52:03 -0400
committerSimon Marchi <simon.marchi@efficios.com>2023-04-17 13:47:13 -0400
commitf56944000c014116905d4fffe27da05ef8896cfd (patch)
tree38816146448e8be99b9eacc7261470f3c7e1f8d7 /gdb/infrun.c
parent4a1283c8d56a43a5146744cec6960556d9b40605 (diff)
downloadbinutils-gdb-f56944000c014116905d4fffe27da05ef8896cfd.tar.gz
gdb: add inferior_forked observable
In the upcoming patch to support fork in the amd-dbgapi target, the amd-dbgapi target will need to be notified of fork events through an observer, to attach itself (attach in the amd-dbgapi sense, not ptrace sense) to the new inferior / process. The reason that this can't be done through target_ops::follow_fork is that the amd-dbgapi target isn't pushed on the inferior's target stack right away. It attaches itself to the process and only pushes itself on its target stack if and when the inferior initializes the ROCm runtime. If an inferior that is not using the ROCm runtime forks, we want to be notified of it, so we can attach to the child, and catch if the child starts using the ROCm runtime. So, add a new observable and notify it in follow_fork_inferior. It will be used later in this series. Change-Id: I67fced5a9cba6d5da72b9c7ea1c8397644ca1d54 Reviewed-By: Pedro Alves <pedro@palves.net>
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r--gdb/infrun.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c
index e77ad31a7bc..6f02c6e1a37 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -624,6 +624,8 @@ holding the child stopped. Try \"set detach-on-fork\" or \
target_follow_fork (child_inf, child_ptid, fork_kind, follow_child,
detach_fork);
+ gdb::observers::inferior_forked.notify (parent_inf, child_inf, fork_kind);
+
/* target_follow_fork must leave the parent as the current inferior. If we
want to follow the child, we make it the current one below. */
gdb_assert (current_inferior () == parent_inf);