gdb: pass program space to no_shared_libraries
Make the current program space reference bubble up one level. Pass `current_program_space` everywhere, except in some cases where we can get the pspace another way, and it's relatively obvious that it's the same as the current program space. Change-Id: Id86b79f1e44f92a398f49d137d57457174dfa96d Approved-By: Tom Tromey <tom@tromey.com> Reviewed-By: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
This commit is contained in:
parent
89dc60d957
commit
b8c9d0de90
8 changed files with 13 additions and 13 deletions
|
@ -2827,7 +2827,7 @@ detach_command (const char *args, int from_tty)
|
|||
/* If the solist is global across inferiors, don't clear it when we
|
||||
detach from a single inferior. */
|
||||
if (!gdbarch_has_global_solist (inf->arch ()))
|
||||
no_shared_libraries ();
|
||||
no_shared_libraries (inf->pspace);
|
||||
|
||||
if (deprecated_detach_hook)
|
||||
deprecated_detach_hook ();
|
||||
|
@ -2853,7 +2853,7 @@ disconnect_command (const char *args, int from_tty)
|
|||
query_if_trace_running (from_tty);
|
||||
disconnect_tracing ();
|
||||
target_disconnect (args, from_tty);
|
||||
no_shared_libraries ();
|
||||
no_shared_libraries (current_program_space);
|
||||
init_thread_list ();
|
||||
update_previous_thread ();
|
||||
if (deprecated_detach_hook)
|
||||
|
|
|
@ -1317,7 +1317,7 @@ follow_exec (ptid_t ptid, const char *exec_file_target)
|
|||
/* Also, loading a symbol file below may trigger symbol lookups, and
|
||||
we don't want those to be satisfied by the libraries of the
|
||||
previous incarnation of this process. */
|
||||
no_shared_libraries ();
|
||||
no_shared_libraries (current_program_space);
|
||||
|
||||
inferior *execing_inferior = current_inferior ();
|
||||
inferior *following_inferior;
|
||||
|
|
|
@ -115,7 +115,7 @@ program_space::~program_space ()
|
|||
set_current_program_space (this);
|
||||
|
||||
breakpoint_program_space_exit (this);
|
||||
no_shared_libraries ();
|
||||
no_shared_libraries (this);
|
||||
free_all_objfiles ();
|
||||
/* Defer breakpoint re-set because we don't want to create new
|
||||
locations for this pspace which we're tearing down. */
|
||||
|
|
|
@ -6271,7 +6271,7 @@ remote_target::open_1 (const char *name, int from_tty, int extended_p)
|
|||
}
|
||||
|
||||
/* First delete any symbols previously loaded from shared libraries. */
|
||||
no_shared_libraries ();
|
||||
no_shared_libraries (current_program_space);
|
||||
|
||||
/* Start the remote connection. If error() or QUIT, discard this
|
||||
target (we'd otherwise be in an inconsistent state) and then
|
||||
|
|
|
@ -1237,15 +1237,15 @@ sharedlibrary_command (const char *args, int from_tty)
|
|||
/* See solib.h. */
|
||||
|
||||
void
|
||||
no_shared_libraries ()
|
||||
no_shared_libraries (program_space *pspace)
|
||||
{
|
||||
/* The order of the two routines below is important: clear_solib notifies
|
||||
the solib_unloaded observers, and some of these observers might need
|
||||
access to their associated objfiles. Therefore, we can not purge the
|
||||
solibs' objfiles before clear_solib has been called. */
|
||||
|
||||
clear_solib (current_program_space);
|
||||
objfile_purge_solibs (current_program_space);
|
||||
clear_solib (pspace);
|
||||
objfile_purge_solibs (pspace);
|
||||
}
|
||||
|
||||
/* Implements the command "nosharedlibrary", which discards symbols
|
||||
|
@ -1256,7 +1256,7 @@ no_shared_libraries ()
|
|||
static void
|
||||
no_shared_libraries_command (const char *ignored, int from_tty)
|
||||
{
|
||||
no_shared_libraries ();
|
||||
no_shared_libraries (current_program_space);
|
||||
}
|
||||
|
||||
/* See solib.h. */
|
||||
|
|
|
@ -80,9 +80,9 @@ extern bool solib_keep_data_in_core (CORE_ADDR vaddr, unsigned long size);
|
|||
|
||||
extern bool in_solib_dynsym_resolve_code (CORE_ADDR);
|
||||
|
||||
/* Discard symbols that were auto-loaded from shared libraries. */
|
||||
/* Discard symbols that were auto-loaded from shared libraries in PSPACE. */
|
||||
|
||||
extern void no_shared_libraries ();
|
||||
extern void no_shared_libraries (program_space *pspace);
|
||||
|
||||
/* Synchronize GDB's shared object list with inferior's.
|
||||
|
||||
|
|
|
@ -1209,7 +1209,7 @@ symbol_file_clear (int from_tty)
|
|||
|
||||
/* solib descriptors may have handles to objfiles. Wipe them before their
|
||||
objfiles get stale by free_all_objfiles. */
|
||||
no_shared_libraries ();
|
||||
no_shared_libraries (current_program_space);
|
||||
|
||||
current_program_space->free_all_objfiles ();
|
||||
|
||||
|
|
|
@ -2452,7 +2452,7 @@ target_pre_inferior ()
|
|||
memory regions and features. */
|
||||
if (!gdbarch_has_global_solist (current_inferior ()->arch ()))
|
||||
{
|
||||
no_shared_libraries ();
|
||||
no_shared_libraries (current_program_space);
|
||||
|
||||
invalidate_target_mem_regions ();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue