diff options
Diffstat (limited to 'gdb/objfiles.c')
-rw-r--r-- | gdb/objfiles.c | 6 |
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 |