From: Simon Marchi Date: Thu, 16 May 2024 21:30:22 +0000 (-0400) Subject: gdb: pass program space to objfile::make X-Git-Tag: binutils-2_43~110 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8991986e2413e2da383bef41855a7295ce323c9c;p=thirdparty%2Fbinutils-gdb.git gdb: pass program space to objfile::make Make the current program space reference bubble up one level. Change-Id: Iee8b11c853c76e539c991c4785737c69e6a1925c Approved-By: Tom Tromey Reviewed-By: Thiago Jung Bauermann --- diff --git a/gdb/jit.c b/gdb/jit.c index 797be95a8da..2744d03f8f8 100644 --- a/gdb/jit.c +++ b/gdb/jit.c @@ -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) diff --git a/gdb/objfiles.c b/gdb/objfiles.c index 2d6a49ce543..0e076fe36be 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -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_); diff --git a/gdb/objfiles.h b/gdb/objfiles.h index e43669c9959..50bd6f8dde5 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -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. */ diff --git a/gdb/symfile.c b/gdb/symfile.c index caf0aa64d5c..2526998649e 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -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