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.
This commit is contained in:
Jeff Johnston
2004-09-01 18:00:29 +00:00
parent f3bb67042f
commit 84acb35a5a
5 changed files with 82 additions and 3 deletions

View File

@@ -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. */