aboutsummaryrefslogtreecommitdiff
path: root/gdb/observable.h
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2020-12-04 16:43:51 -0500
committerSimon Marchi <simon.marchi@efficios.com>2020-12-04 16:43:52 -0500
commit42a4fec513f11d4ff346f62fc0df3731ce9f7d59 (patch)
tree9f7c10404b81c3a7186f3b1552e7114af4922c1d /gdb/observable.h
parentaafdfb4eddc3c58be24fe50a1e6543a4b9c8cbac (diff)
downloadgdb-42a4fec513f11d4ff346f62fc0df3731ce9f7d59.zip
gdb-42a4fec513f11d4ff346f62fc0df3731ce9f7d59.tar.gz
gdb-42a4fec513f11d4ff346f62fc0df3731ce9f7d59.tar.bz2
gdb: add inferior_execd observable
I want to add another action (clearing displaced stepping state) that happens when an inferior execs. I think it would be cleaner to have an observer for this event, rather than have infrun know about each other sub-component. Replace the calls to solib_create_inferior_hook and jit_inferior_created_hook in follow_exec by observers. gdb/ChangeLog: * observable.h (inferior_execd): Declare new observable. * observable.c (inferior_execd): Declare new observable. * infrun.c (follow_exec): Notify inferior_execd observer. * jit.c (jit_inferior_created_hook): Make static. (_initialize_jit): Register inferior_execd observer. * jit.h (jit_inferior_created_hook): Remove declaration. * solib.c (_initialize_solib): Register inferior_execd observer. Change-Id: I000cce00094e23baa67df693d912646b6ae38e44
Diffstat (limited to 'gdb/observable.h')
-rw-r--r--gdb/observable.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/observable.h b/gdb/observable.h
index 9114b28..1dce674 100644
--- a/gdb/observable.h
+++ b/gdb/observable.h
@@ -89,6 +89,9 @@ extern observable<> executable_changed;
information on the inferior has been printed. */
extern observable<inferior */* inferior */> inferior_created;
+/* The inferior INF has exec'ed a new executable file. */
+extern observable<struct inferior */* inf */> inferior_execd;
+
/* The status of process record for inferior inferior in gdb has
changed. The process record is started if STARTED is true, and
the process record is stopped if STARTED is false.