Use unique_ptr for objfiles

A while back, I changed objfiles to be held via a shared_ptr.  The
idea at the time was that this was a step toward writing to the index
cache in the background, and this would let gdb keep a reference alive
to do so.  However, since then we've rewritten the DWARF reader, and
the new index can do this without requiring a shared pointer -- in
fact there are patches pending to implement this.

This patch switches objfile management to unique_ptr, which makes more
sense now.

Regression tested on x86-64 Fedora 34.
This commit is contained in:
Tom Tromey 2022-05-21 09:50:13 -06:00
parent ebad7c6613
commit e2904e1ff0
4 changed files with 9 additions and 11 deletions

View file

@ -468,9 +468,7 @@ objfile::make (bfd *bfd_, const char *name_, objfile_flags flags_,
if (parent != nullptr)
add_separate_debug_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),
current_program_space->add_objfile (std::unique_ptr<objfile> (result),
parent);
/* Rebuild section map next time we need it. */