aboutsummaryrefslogtreecommitdiff
path: root/gdb/objfiles.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/objfiles.c')
-rw-r--r--gdb/objfiles.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index b5bc09f..0ee5720 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -520,7 +520,7 @@ put_objfile_before (struct objfile *objfile, struct objfile *before_this)
/* Add OBJFILE as a separate debug objfile of PARENT. */
-void
+static void
add_separate_debug_objfile (struct objfile *objfile, struct objfile *parent)
{
gdb_assert (objfile && parent);
@@ -541,6 +541,18 @@ add_separate_debug_objfile (struct objfile *objfile, struct objfile *parent)
put_objfile_before (objfile, parent);
}
+/* See objfiles.h. */
+
+objfile *
+objfile::make (bfd *bfd_, const char *name_, objfile_flags flags_,
+ objfile *parent)
+{
+ objfile *result = new objfile (bfd_, name_, flags_);
+ if (parent != nullptr)
+ add_separate_debug_objfile (result, parent);
+ return result;
+}
+
/* Free all separate debug objfile of OBJFILE, but don't free OBJFILE
itself. */