diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2004-09-01 18:00:29 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2004-09-01 18:00:29 +0000 |
commit | 84acb35a5a97c28b24b1d61541dc1ee01a7d8a43 (patch) | |
tree | 050360ea3daaaec3647333216ad72302a7d934c2 /gdb/solib.c | |
parent | f3bb67042f67aa346efa2cb025a8705ed838d24d (diff) | |
download | gdb-84acb35a5a97c28b24b1d61541dc1ee01a7d8a43.zip gdb-84acb35a5a97c28b24b1d61541dc1ee01a7d8a43.tar.gz gdb-84acb35a5a97c28b24b1d61541dc1ee01a7d8a43.tar.bz2 |
2004-09-01 Jeff Johnston <jjohnstn@redhat.com>
* observer.sh: Add struct so_list declaration.
* Makefile.in: Add dependencies on observer.h for solib.c and
breakpoint.c.
* breakpoint.c (disable_breakpoints_in_unloaded_shlib): New
function.
(_initialize_breakpoint): Register
disable_breakpoints_in_unloaded_shlib as an observer of the
"solib unloaded" observation event.
(re_enable_breakpoints_in_shlibs): For bp_shlib_disabled breakpoints,
call decode_line_1 so unfound breakpoint errors are silent.
* solib.c (update_solib_list): When a solib is discovered to have
been unloaded by the program, notify all observers of the
"solib unloaded" observation event.
Diffstat (limited to 'gdb/solib.c')
-rw-r--r-- | gdb/solib.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/solib.c b/gdb/solib.c index e722b98..8927568 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -42,6 +42,7 @@ #include "filenames.h" /* for DOSish file names */ #include "exec.h" #include "solist.h" +#include "observer.h" #include "readline/readline.h" /* external data declarations */ @@ -478,6 +479,10 @@ update_solib_list (int from_tty, struct target_ops *target) /* If it's not on the inferior's list, remove it from GDB's tables. */ else { + /* Notify any observer that the SO has been unloaded + before we remove it from the gdb tables. */ + observer_notify_solib_unloaded (gdb); + *gdb_link = gdb->next; /* Unless the user loaded it explicitly, free SO's objfile. */ |