aboutsummaryrefslogtreecommitdiff
path: root/gdb/compile/compile-object-run.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/compile/compile-object-run.c')
-rw-r--r--gdb/compile/compile-object-run.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/gdb/compile/compile-object-run.c b/gdb/compile/compile-object-run.c
index 6fcd10b..af761e8 100644
--- a/gdb/compile/compile-object-run.c
+++ b/gdb/compile/compile-object-run.c
@@ -79,21 +79,18 @@ do_module_cleanup (void *arg, int registers_valid)
}
}
+ objfile *objfile = data->module->objfile;
+ gdb_assert (objfile != nullptr);
+
/* We have to make a copy of the name so that we can unlink the
underlying file -- removing the objfile will cause the name to be
freed, so we can't simply keep a reference to it. */
- std::string objfile_name_s = objfile_name (data->module->objfile);
- for (objfile *objfile : current_program_space->objfiles ())
- if ((objfile->flags & OBJF_USERLOADED) == 0
- && objfile_name_s == objfile_name (objfile))
- {
- objfile->unlink ();
-
- /* It may be a bit too pervasive in this dummy_frame dtor callback. */
- clear_symtab_users (0);
-
- break;
- }
+ std::string objfile_name_s = objfile_name (objfile);
+
+ objfile->unlink ();
+
+ /* It may be a bit too pervasive in this dummy_frame dtor callback. */
+ clear_symtab_users (0);
/* Delete the .c file. */
unlink (data->module->source_file.c_str ());