gdb: pass program space to objfile::make

Make the current program space reference bubble up one level.

Change-Id: Iee8b11c853c76e539c991c4785737c69e6a1925c
Approved-By: Tom Tromey <tom@tromey.com>
Reviewed-By: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
This commit is contained in:
Simon Marchi 2024-05-16 17:30:22 -04:00 committed by Simon Marchi
parent da877546db
commit 8991986e24
4 changed files with 10 additions and 8 deletions

View file

@ -660,8 +660,8 @@ jit_object_close_impl (struct gdb_symbol_callbacks *cb,
paddress (priv_data->gdbarch,
priv_data->entry.symfile_addr));
objfile *objfile = objfile::make (nullptr, objfile_name.c_str (),
OBJF_NOT_FILENAME);
objfile *objfile = objfile::make (nullptr, current_program_space,
objfile_name.c_str (), OBJF_NOT_FILENAME);
objfile->per_bfd->gdbarch = priv_data->gdbarch;
for (gdb_symtab &symtab : obj->symtabs)

View file

@ -442,8 +442,8 @@ add_separate_debug_objfile (struct objfile *objfile, struct objfile *parent)
/* See objfiles.h. */
objfile *
objfile::make (gdb_bfd_ref_ptr bfd_, const char *name_, objfile_flags flags_,
objfile *parent)
objfile::make (gdb_bfd_ref_ptr bfd_, program_space *pspace, const char *name_,
objfile_flags flags_, objfile *parent)
{
objfile *result
= new objfile (std::move (bfd_), current_program_space, name_, flags_);

View file

@ -437,8 +437,9 @@ public:
~objfile ();
/* Create an objfile. */
static objfile *make (gdb_bfd_ref_ptr bfd_, const char *name_,
objfile_flags flags_, objfile *parent = nullptr);
static objfile *make (gdb_bfd_ref_ptr bfd_, program_space *pspace,
const char *name_, objfile_flags flags_,
objfile *parent = nullptr);
/* Remove this objfile from its program space's objfile list, and frees
it. */

View file

@ -1026,7 +1026,6 @@ symbol_file_add_with_addrs (const gdb_bfd_ref_ptr &abfd, const char *name,
section_addr_info *addrs,
objfile_flags flags, struct objfile *parent)
{
struct objfile *objfile;
const int from_tty = add_flags & SYMFILE_VERBOSE;
const int mainline = add_flags & SYMFILE_MAINLINE;
const int always_confirm = add_flags & SYMFILE_ALWAYS_CONFIRM;
@ -1061,7 +1060,9 @@ symbol_file_add_with_addrs (const gdb_bfd_ref_ptr &abfd, const char *name,
if (mainline)
flags |= OBJF_MAINLINE;
objfile = objfile::make (abfd, name, flags, parent);
objfile *objfile
= objfile::make (abfd, current_program_space, name, flags, parent);
/* We either created a new mapped symbol table, mapped an existing
symbol table file which has not had initial symbol reading