PR symtab/12406:
[deliverable/binutils-gdb.git] / gdb / progspace.c
index 7175fa6ab175b6adfc2beaf562437b1e085e7e8b..54531d9b1fb20b014dae90b95b7e1ed0a2448712 100644 (file)
@@ -149,6 +149,7 @@ release_program_space (struct program_space *pspace)
     free_address_space (pspace->aspace);
   resize_section_table (&pspace->target_sections,
                        -resize_section_table (&pspace->target_sections, 0));
+  clear_program_space_solib_cache (pspace);
     /* Discard any data modules have associated with the PSPACE.  */
   program_space_free_data (pspace);
   xfree (pspace);
@@ -503,6 +504,22 @@ switch_to_program_space_and_thread (struct program_space *pspace)
 
 \f
 
+/* See progspace.h.  */
+
+void
+clear_program_space_solib_cache (struct program_space *pspace)
+{
+  int ix;
+  char *name;
+
+  VEC_free (so_list_ptr, pspace->added_solibs);
+  for (ix = 0; VEC_iterate (char_ptr, pspace->deleted_solibs, ix, name); ++ix)
+    xfree (name);
+  VEC_free (char_ptr, pspace->deleted_solibs);
+}
+
+\f
+
 /* Keep a registry of per-program_space data-pointers required by other GDB
    modules.  */
 
This page took 0.027321 seconds and 4 git commands to generate.