Make dwarf2_free_objfile static
I noticed that dwarf2_free_objfile can be made static, by changing it to be a registry cleanup function. This simplifies the code, as well, because now symbol readers don't have to explicitly call it. Tested by the buildbot. gdb/ChangeLog 2018-06-28 Tom Tromey <tom@tromey.com> * coffread.c (coff_symfile_finish): Update. * xcoffread.c (xcoff_symfile_finish): Update. * elfread.c (elf_symfile_finish): Update. * symfile.h (dwarf2_free_objfile): Don't declare. * dwarf2read.c (_initialize_dwarf2_read): Use register_objfile_data_with_cleanup. (dwarf2_free_objfile): Now static. Change signature.
This commit is contained in:
parent
2512d7efdf
commit
d95d3aef9e
6 changed files with 16 additions and 13 deletions
|
@ -1,3 +1,13 @@
|
|||
2018-06-28 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* coffread.c (coff_symfile_finish): Update.
|
||||
* xcoffread.c (xcoff_symfile_finish): Update.
|
||||
* elfread.c (elf_symfile_finish): Update.
|
||||
* symfile.h (dwarf2_free_objfile): Don't declare.
|
||||
* dwarf2read.c (_initialize_dwarf2_read): Use
|
||||
register_objfile_data_with_cleanup.
|
||||
(dwarf2_free_objfile): Now static. Change signature.
|
||||
|
||||
2018-06-28 Petr Tesarik <ptesarik@suse.cz>
|
||||
|
||||
* symfile.c (add_symbol_file_command, _initialize_symfile): Add
|
||||
|
|
|
@ -766,8 +766,6 @@ coff_symfile_finish (struct objfile *objfile)
|
|||
{
|
||||
/* Let stabs reader clean up. */
|
||||
stabsread_clear_cache ();
|
||||
|
||||
dwarf2_free_objfile (objfile);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -24997,13 +24997,13 @@ free_one_cached_comp_unit (struct dwarf2_per_cu_data *target_per_cu)
|
|||
}
|
||||
}
|
||||
|
||||
/* Release all extra memory associated with OBJFILE. */
|
||||
/* Cleanup function for the dwarf2_per_objfile data. */
|
||||
|
||||
void
|
||||
dwarf2_free_objfile (struct objfile *objfile)
|
||||
static void
|
||||
dwarf2_free_objfile (struct objfile *objfile, void *datum)
|
||||
{
|
||||
struct dwarf2_per_objfile *dwarf2_per_objfile
|
||||
= get_dwarf2_per_objfile (objfile);
|
||||
= static_cast<struct dwarf2_per_objfile *> (datum);
|
||||
|
||||
delete dwarf2_per_objfile;
|
||||
}
|
||||
|
@ -25325,8 +25325,8 @@ show_check_physname (struct ui_file *file, int from_tty,
|
|||
void
|
||||
_initialize_dwarf2_read (void)
|
||||
{
|
||||
|
||||
dwarf2_objfile_data_key = register_objfile_data ();
|
||||
dwarf2_objfile_data_key
|
||||
= register_objfile_data_with_cleanup (nullptr, dwarf2_free_objfile);
|
||||
|
||||
add_prefix_cmd ("dwarf", class_maintenance, set_dwarf_cmd, _("\
|
||||
Set DWARF specific variables.\n\
|
||||
|
|
|
@ -1336,7 +1336,6 @@ elf_new_init (struct objfile *ignore)
|
|||
static void
|
||||
elf_symfile_finish (struct objfile *objfile)
|
||||
{
|
||||
dwarf2_free_objfile (objfile);
|
||||
}
|
||||
|
||||
/* ELF specific initialization routine for reading symbols. */
|
||||
|
|
|
@ -616,8 +616,6 @@ extern bool dwarf2_initialize_objfile (struct objfile *objfile,
|
|||
extern void dwarf2_build_psymtabs (struct objfile *);
|
||||
extern void dwarf2_build_frame_info (struct objfile *);
|
||||
|
||||
void dwarf2_free_objfile (struct objfile *);
|
||||
|
||||
/* From mdebugread.c */
|
||||
|
||||
extern void mdebug_build_psymtabs (minimal_symbol_reader &,
|
||||
|
|
|
@ -1959,8 +1959,6 @@ xcoff_symfile_finish (struct objfile *objfile)
|
|||
inclTable = NULL;
|
||||
}
|
||||
inclIndx = inclLength = inclDepth = 0;
|
||||
|
||||
dwarf2_free_objfile (objfile);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue