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:
Simon Marchi
2024-07-11 12:39:35 -04:00
committed by Simon Marchi
parent 89dc60d957
commit b8c9d0de90
8 changed files with 13 additions and 13 deletions

View File

@@ -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 /* If the solist is global across inferiors, don't clear it when we
detach from a single inferior. */ detach from a single inferior. */
if (!gdbarch_has_global_solist (inf->arch ())) if (!gdbarch_has_global_solist (inf->arch ()))
no_shared_libraries (); no_shared_libraries (inf->pspace);
if (deprecated_detach_hook) if (deprecated_detach_hook)
deprecated_detach_hook (); deprecated_detach_hook ();
@@ -2853,7 +2853,7 @@ disconnect_command (const char *args, int from_tty)
query_if_trace_running (from_tty); query_if_trace_running (from_tty);
disconnect_tracing (); disconnect_tracing ();
target_disconnect (args, from_tty); target_disconnect (args, from_tty);
no_shared_libraries (); no_shared_libraries (current_program_space);
init_thread_list (); init_thread_list ();
update_previous_thread (); update_previous_thread ();
if (deprecated_detach_hook) if (deprecated_detach_hook)

View File

@@ -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 /* Also, loading a symbol file below may trigger symbol lookups, and
we don't want those to be satisfied by the libraries of the we don't want those to be satisfied by the libraries of the
previous incarnation of this process. */ previous incarnation of this process. */
no_shared_libraries (); no_shared_libraries (current_program_space);
inferior *execing_inferior = current_inferior (); inferior *execing_inferior = current_inferior ();
inferior *following_inferior; inferior *following_inferior;

View File

@@ -115,7 +115,7 @@ program_space::~program_space ()
set_current_program_space (this); set_current_program_space (this);
breakpoint_program_space_exit (this); breakpoint_program_space_exit (this);
no_shared_libraries (); no_shared_libraries (this);
free_all_objfiles (); free_all_objfiles ();
/* Defer breakpoint re-set because we don't want to create new /* Defer breakpoint re-set because we don't want to create new
locations for this pspace which we're tearing down. */ locations for this pspace which we're tearing down. */

View File

@@ -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. */ /* 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 /* Start the remote connection. If error() or QUIT, discard this
target (we'd otherwise be in an inconsistent state) and then target (we'd otherwise be in an inconsistent state) and then

View File

@@ -1237,15 +1237,15 @@ sharedlibrary_command (const char *args, int from_tty)
/* See solib.h. */ /* See solib.h. */
void void
no_shared_libraries () no_shared_libraries (program_space *pspace)
{ {
/* The order of the two routines below is important: clear_solib notifies /* The order of the two routines below is important: clear_solib notifies
the solib_unloaded observers, and some of these observers might need the solib_unloaded observers, and some of these observers might need
access to their associated objfiles. Therefore, we can not purge the access to their associated objfiles. Therefore, we can not purge the
solibs' objfiles before clear_solib has been called. */ solibs' objfiles before clear_solib has been called. */
clear_solib (current_program_space); clear_solib (pspace);
objfile_purge_solibs (current_program_space); objfile_purge_solibs (pspace);
} }
/* Implements the command "nosharedlibrary", which discards symbols /* Implements the command "nosharedlibrary", which discards symbols
@@ -1256,7 +1256,7 @@ no_shared_libraries ()
static void static void
no_shared_libraries_command (const char *ignored, int from_tty) no_shared_libraries_command (const char *ignored, int from_tty)
{ {
no_shared_libraries (); no_shared_libraries (current_program_space);
} }
/* See solib.h. */ /* See solib.h. */

View File

@@ -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); 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. /* Synchronize GDB's shared object list with inferior's.

View File

@@ -1209,7 +1209,7 @@ symbol_file_clear (int from_tty)
/* solib descriptors may have handles to objfiles. Wipe them before their /* solib descriptors may have handles to objfiles. Wipe them before their
objfiles get stale by free_all_objfiles. */ objfiles get stale by free_all_objfiles. */
no_shared_libraries (); no_shared_libraries (current_program_space);
current_program_space->free_all_objfiles (); current_program_space->free_all_objfiles ();

View File

@@ -2452,7 +2452,7 @@ target_pre_inferior ()
memory regions and features. */ memory regions and features. */
if (!gdbarch_has_global_solist (current_inferior ()->arch ())) if (!gdbarch_has_global_solist (current_inferior ()->arch ()))
{ {
no_shared_libraries (); no_shared_libraries (current_program_space);
invalidate_target_mem_regions (); invalidate_target_mem_regions ();