diff options
Diffstat (limited to 'gdb/solib.h')
-rw-r--r-- | gdb/solib.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gdb/solib.h b/gdb/solib.h index 1b46849..e91fb75 100644 --- a/gdb/solib.h +++ b/gdb/solib.h @@ -28,6 +28,9 @@ struct program_space; #include "symfile-add-flags.h" +/* List of known shared objects */ +#define so_list_head current_program_space->so_list + /* Called when we free all symtabs, to free the shared library information as well. */ @@ -75,6 +78,24 @@ extern void no_shared_libraries (char *ignored, int from_tty); extern void set_solib_ops (struct gdbarch *gdbarch, const struct target_so_ops *new_ops); +/* Synchronize GDB's shared object list with inferior's. + + Extract the list of currently loaded shared objects from the + inferior, and compare it with the list of shared objects currently + in GDB's so_list_head list. Edit so_list_head to bring it in sync + with the inferior's new list. + + If we notice that the inferior has unloaded some shared objects, + free any symbolic info GDB had read about those shared objects. + + Don't load symbolic info for any new shared objects; just add them + to the list, and leave their symbols_loaded flag clear. + + If FROM_TTY is non-null, feel free to print messages about what + we're doing. */ + +extern void update_solib_list (int from_tty); + /* Return non-zero if NAME is the libpthread shared library. */ extern int libpthread_name_p (const char *name); |