mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-02 02:45:37 +08:00
dwarf2read: Make dwo_file::dbfd a gdb_bfd_ref_ptr
This removes the manual call to gdb_bfd_ref in favor of gdb_bfd_ref_ptr. gdb/ChangeLog: * dwarf2read.c (struct dwo_file) <dbfd>: Change type to gdb_bfd_ref_ptr. <~dwo_file>: Remove call to gdb_bfd_unref. (open_and_init_dwo_file): Move gdb_bfd_ref_ptr into dbfd field. Call gdb_bfd_ref_ptr::get.
This commit is contained in:

committed by
Simon Marchi

parent
51ac9db596
commit
fb1eb2f94a
@ -1,3 +1,11 @@
|
|||||||
|
2019-06-21 Simon Marchi <simon.marchi@polymtl.ca>
|
||||||
|
|
||||||
|
* dwarf2read.c (struct dwo_file) <dbfd>: Change type to
|
||||||
|
gdb_bfd_ref_ptr.
|
||||||
|
<~dwo_file>: Remove call to gdb_bfd_unref.
|
||||||
|
(open_and_init_dwo_file): Move gdb_bfd_ref_ptr into dbfd field. Call
|
||||||
|
gdb_bfd_ref_ptr::get.
|
||||||
|
|
||||||
2019-06-21 Simon Marchi <simon.marchi@polymtl.ca>
|
2019-06-21 Simon Marchi <simon.marchi@polymtl.ca>
|
||||||
|
|
||||||
* dwarf2read.h (struct dwarf2_per_objfile) <dwo_files>: Change
|
* dwarf2read.h (struct dwarf2_per_objfile) <dwo_files>: Change
|
||||||
|
@ -708,8 +708,6 @@ struct dwo_file
|
|||||||
|
|
||||||
~dwo_file ()
|
~dwo_file ()
|
||||||
{
|
{
|
||||||
gdb_bfd_unref (dbfd);
|
|
||||||
|
|
||||||
VEC_free (dwarf2_section_info_def, sections.types);
|
VEC_free (dwarf2_section_info_def, sections.types);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -724,7 +722,7 @@ struct dwo_file
|
|||||||
|
|
||||||
/* The bfd, when the file is open. Otherwise this is NULL.
|
/* The bfd, when the file is open. Otherwise this is NULL.
|
||||||
This is unused(NULL) for virtual DWO files where we use dwp_file.dbfd. */
|
This is unused(NULL) for virtual DWO files where we use dwp_file.dbfd. */
|
||||||
bfd *dbfd = nullptr;
|
gdb_bfd_ref_ptr dbfd;
|
||||||
|
|
||||||
/* The sections that make up this DWO file.
|
/* The sections that make up this DWO file.
|
||||||
Remember that for virtual DWO files in DWP V2, these are virtual
|
Remember that for virtual DWO files in DWP V2, these are virtual
|
||||||
@ -12960,7 +12958,7 @@ open_and_init_dwo_file (struct dwarf2_per_cu_data *per_cu,
|
|||||||
{
|
{
|
||||||
struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
|
struct dwarf2_per_objfile *dwarf2_per_objfile = per_cu->dwarf2_per_objfile;
|
||||||
|
|
||||||
gdb_bfd_ref_ptr dbfd (open_dwo_file (dwarf2_per_objfile, dwo_name, comp_dir));
|
gdb_bfd_ref_ptr dbfd = open_dwo_file (dwarf2_per_objfile, dwo_name, comp_dir);
|
||||||
if (dbfd == NULL)
|
if (dbfd == NULL)
|
||||||
{
|
{
|
||||||
if (dwarf_read_debug)
|
if (dwarf_read_debug)
|
||||||
@ -12971,9 +12969,9 @@ open_and_init_dwo_file (struct dwarf2_per_cu_data *per_cu,
|
|||||||
dwo_file_up dwo_file (new struct dwo_file);
|
dwo_file_up dwo_file (new struct dwo_file);
|
||||||
dwo_file->dwo_name = dwo_name;
|
dwo_file->dwo_name = dwo_name;
|
||||||
dwo_file->comp_dir = comp_dir;
|
dwo_file->comp_dir = comp_dir;
|
||||||
dwo_file->dbfd = dbfd.release ();
|
dwo_file->dbfd = std::move (dbfd);
|
||||||
|
|
||||||
bfd_map_over_sections (dwo_file->dbfd, dwarf2_locate_dwo_sections,
|
bfd_map_over_sections (dwo_file->dbfd.get (), dwarf2_locate_dwo_sections,
|
||||||
&dwo_file->sections);
|
&dwo_file->sections);
|
||||||
|
|
||||||
create_cus_hash_table (dwarf2_per_objfile, *dwo_file, dwo_file->sections.info,
|
create_cus_hash_table (dwarf2_per_objfile, *dwo_file, dwo_file->sections.info,
|
||||||
|
Reference in New Issue
Block a user