aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2024-05-16 17:30:22 -0400
committerSimon Marchi <simon.marchi@efficios.com>2024-07-15 14:34:12 -0400
commit8991986e2413e2da383bef41855a7295ce323c9c (patch)
tree43a9f6b3e40615e75888962f128d66ff11ad9d78 /gdb
parentda877546dbf8499a29230466f8c60e2a1b0b846f (diff)
downloadgdb-8991986e2413e2da383bef41855a7295ce323c9c.zip
gdb-8991986e2413e2da383bef41855a7295ce323c9c.tar.gz
gdb-8991986e2413e2da383bef41855a7295ce323c9c.tar.bz2
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>
Diffstat (limited to 'gdb')
-rw-r--r--gdb/jit.c4
-rw-r--r--gdb/objfiles.c4
-rw-r--r--gdb/objfiles.h5
-rw-r--r--gdb/symfile.c5
4 files changed, 10 insertions, 8 deletions
diff --git a/gdb/jit.c b/gdb/jit.c
index 797be95..2744d03 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 2d6a49c..0e076fe 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 e43669c..50bd6f8 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 caf0aa6..2526998 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