From e39fb97114f28dbc0f38a9851437437bfc5c43a0 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 29 Oct 2020 15:04:33 -0600 Subject: [PATCH] Change clear_program_space_solib_cache to method on program_space This changes clear_program_space_solib_cache to be a method on program_space. Also, it removes a call to this function from the program_space destructor, as that is not necessary. gdb/ChangeLog 2020-10-29 Tom Tromey * progspace.c (program_space::~program_space): Don't call clear_program_space_solib_cache. (program_space::clear_solib_cache): Rename from clear_solib_cache. * solib.c (handle_solib_event): Update. * progspace.h (struct program_space) : New method. (clear_program_space_solib_cache): Don't declare. --- gdb/ChangeLog | 11 +++++++++++ gdb/progspace.c | 7 +++---- gdb/progspace.h | 10 +++++----- gdb/solib.c | 2 +- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c074b4fdbf3..97931942570 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2020-10-29 Tom Tromey + + * progspace.c (program_space::~program_space): Don't call + clear_program_space_solib_cache. + (program_space::clear_solib_cache): Rename from + clear_solib_cache. + * solib.c (handle_solib_event): Update. + * progspace.h (struct program_space) : New + method. + (clear_program_space_solib_cache): Don't declare. + 2020-10-29 Tom Tromey * windows-tdep.c (windows_solib_create_inferior_hook): Update. diff --git a/gdb/progspace.c b/gdb/progspace.c index 52482ca8f64..84baaeab292 100644 --- a/gdb/progspace.c +++ b/gdb/progspace.c @@ -154,7 +154,6 @@ program_space::~program_space () clear_symtab_users (SYMFILE_DEFER_BP_RESET); if (!gdbarch_has_shared_address_space (target_gdbarch ())) free_address_space (this->aspace); - clear_program_space_solib_cache (this); /* Discard any data modules have associated with the PSPACE. */ program_space_free_data (this); } @@ -448,10 +447,10 @@ update_address_spaces (void) /* See progspace.h. */ void -clear_program_space_solib_cache (struct program_space *pspace) +program_space::clear_solib_cache () { - pspace->added_solibs.clear (); - pspace->deleted_solibs.clear (); + added_solibs.clear (); + deleted_solibs.clear (); } diff --git a/gdb/progspace.h b/gdb/progspace.h index e719cee57d0..22805d74f37 100644 --- a/gdb/progspace.h +++ b/gdb/progspace.h @@ -288,6 +288,11 @@ struct program_space ebfd = std::move (abfd); } + /* Reset saved solib data at the start of an solib event. This lets + us properly collect the data when calling solib_add, so it can then + later be printed. */ + void clear_solib_cache (); + /* Unique ID number. */ int num = 0; @@ -435,11 +440,6 @@ extern int address_space_num (struct address_space *aspace); mappings. */ extern void update_address_spaces (void); -/* Reset saved solib data at the start of an solib event. This lets - us properly collect the data when calling solib_add, so it can then - later be printed. */ -extern void clear_program_space_solib_cache (struct program_space *); - /* Keep a registry of per-pspace data-pointers required by other GDB modules. */ diff --git a/gdb/solib.c b/gdb/solib.c index 9df4eca888a..baa1801635b 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -1252,7 +1252,7 @@ handle_solib_event (void) if (ops->handle_event != NULL) ops->handle_event (); - clear_program_space_solib_cache (current_inferior ()->pspace); + current_inferior ()->pspace->clear_solib_cache (); /* Check for any newly added shared libraries if we're supposed to be adding them automatically. Switch terminal for any messages -- 2.30.2