aboutsummaryrefslogtreecommitdiff
path: root/gdb/objfiles.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/objfiles.c')
-rw-r--r--gdb/objfiles.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index 56854cc..81e8212 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -486,7 +486,10 @@ objfile::make (bfd *bfd_, const char *name_, objfile_flags flags_,
if (parent != nullptr)
add_separate_debug_objfile (result, parent);
- current_program_space->add_objfile (result, parent);
+ /* Using std::make_shared might be a bit nicer here, but that would
+ require making the constructor public. */
+ current_program_space->add_objfile (std::shared_ptr<objfile> (result),
+ parent);
/* Rebuild section map next time we need it. */
get_objfile_pspace_data (current_program_space)->new_objfiles_available = 1;
@@ -500,7 +503,6 @@ void
objfile::unlink ()
{
current_program_space->remove_objfile (this);
- delete this;
}
/* Free all separate debug objfile of OBJFILE, but don't free OBJFILE