diff options
author | Tom Tromey <tom@tromey.com> | 2019-11-01 16:10:48 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-12-12 15:50:51 -0700 |
commit | f65fe5704af56aca58fd5547d0841a9512e540af (patch) | |
tree | d9417b502413aa887de630366220a1c324fd1875 /gdb | |
parent | bda13cdcf0db4d9cee648bfa0bfc7f1a4415d2a7 (diff) | |
download | fsf-binutils-gdb-f65fe5704af56aca58fd5547d0841a9512e540af.zip fsf-binutils-gdb-f65fe5704af56aca58fd5547d0841a9512e540af.tar.gz fsf-binutils-gdb-f65fe5704af56aca58fd5547d0841a9512e540af.tar.bz2 |
Make add_separate_debug_objfile static
This changes objfile::make to take a "parent" parameter, and makes
add_separate_debug_objfile static.
gdb/ChangeLog
2019-12-12 Tom Tromey <tom@tromey.com>
* symfile.c (symbol_file_add_with_addrs): Pass "parent" to
objfile::make.
* objfiles.h (struct objjfile) <make>: No longer inline.
(add_separate_debug_objfile): Don't declare.
* objfiles.c (add_separate_debug_objfile): Now static.
(objfile::make): Move from objfiles.h. Call
add_separate_debug_objfile. Add "parent" parameter.
Change-Id: I631f43bb71738dea6ae0697317bf8ef4a0db4617
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/objfiles.c | 14 | ||||
-rw-r--r-- | gdb/objfiles.h | 8 | ||||
-rw-r--r-- | gdb/symfile.c | 5 |
4 files changed, 26 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 393d43e..7bcd2c7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,15 @@ 2019-12-12 Tom Tromey <tom@tromey.com> + * symfile.c (symbol_file_add_with_addrs): Pass "parent" to + objfile::make. + * objfiles.h (struct objjfile) <make>: No longer inline. + (add_separate_debug_objfile): Don't declare. + * objfiles.c (add_separate_debug_objfile): Now static. + (objfile::make): Move from objfiles.h. Call + add_separate_debug_objfile. Add "parent" parameter. + +2019-12-12 Tom Tromey <tom@tromey.com> + * symfile.c (symbol_file_add_with_addrs): Use objfile::make. * objfiles.h (struct objfile): Make constructor private. <make>: New static method. 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. */ diff --git a/gdb/objfiles.h b/gdb/objfiles.h index b5c04eb..663e639 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -402,10 +402,8 @@ private: public: /* Create an objfile. */ - static objfile *make (bfd *bfd_, const char *name_, objfile_flags flags_) - { - return new objfile (bfd_, name_, flags_); - } + static objfile *make (bfd *bfd_, const char *name_, objfile_flags flags_, + objfile *parent = nullptr); ~objfile (); @@ -649,8 +647,6 @@ extern CORE_ADDR entry_point_address (void); extern void build_objfile_section_table (struct objfile *); -extern void add_separate_debug_objfile (struct objfile *, struct objfile *); - extern void free_objfile_separate_debug (struct objfile *); extern void free_all_objfiles (void); diff --git a/gdb/symfile.c b/gdb/symfile.c index eef27a8..8e3cf7f 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -1093,10 +1093,7 @@ symbol_file_add_with_addrs (bfd *abfd, const char *name, if (mainline) flags |= OBJF_MAINLINE; - objfile = objfile::make (abfd, name, flags); - - if (parent) - add_separate_debug_objfile (objfile, parent); + objfile = objfile::make (abfd, name, flags, parent); /* We either created a new mapped symbol table, mapped an existing symbol table file which has not had initial symbol reading |