diff options
Diffstat (limited to 'gdb/solib.c')
-rw-r--r-- | gdb/solib.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gdb/solib.c b/gdb/solib.c index d0392b4..c987fe5 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -1209,6 +1209,37 @@ no_shared_libraries (char *ignored, int from_tty) objfile_purge_solibs (); } +/* See solib.h. */ + +void +update_solib_breakpoints (void) +{ + const struct target_so_ops *ops = solib_ops (target_gdbarch ()); + + if (ops->update_breakpoints != NULL) + ops->update_breakpoints (); +} + +/* See solib.h. */ + +void +handle_solib_event (void) +{ + const struct target_so_ops *ops = solib_ops (target_gdbarch ()); + + if (ops->handle_event != NULL) + ops->handle_event (); + + clear_program_space_solib_cache (current_inferior ()->pspace); + + /* Check for any newly added shared libraries if we're supposed to + be adding them automatically. Switch terminal for any messages + produced by breakpoint_re_set. */ + target_terminal_ours_for_output (); + solib_add (NULL, 0, ¤t_target, auto_solib_add); + target_terminal_inferior (); +} + /* Reload shared libraries, but avoid reloading the same symbol file we already have loaded. */ |