#include "solib.h"
#include "gdbthread.h"
#include "inferior.h"
+#include <algorithm>
/* The last program space number assigned. */
int last_program_space_num = 0;
program_space_free_data (this);
}
+/* See progspace.h. */
+
+void
+program_space::add_objfile (struct objfile *objfile, struct objfile *before)
+{
+ if (before == nullptr)
+ objfiles_list.push_back (objfile);
+ else
+ {
+ auto iter = std::find (objfiles_list.begin (), objfiles_list.end (),
+ before);
+ gdb_assert (iter != objfiles_list.end ());
+ objfiles_list.insert (iter, objfile);
+ }
+}
+
+/* See progspace.h. */
+
+void
+program_space::remove_objfile (struct objfile *objfile)
+{
+ auto iter = std::find (objfiles_list.begin (), objfiles_list.end (),
+ objfile);
+ gdb_assert (iter != objfiles_list.end ());
+ objfiles_list.erase (iter);
+
+ if (objfile == symfile_object_file)
+ symfile_object_file = NULL;
+}
+
/* Copies program space SRC to DEST. Copies the main executable file,
and the main symbol file. Returns DEST. */