diff options
Diffstat (limited to 'gdb/dwarf2/read.c')
-rw-r--r-- | gdb/dwarf2/read.c | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index a6f2f5e..833f424 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -627,152 +627,6 @@ struct dwp_file asection **elf_sections = nullptr; }; -class cutu_reader -{ -public: - - cutu_reader (dwarf2_per_cu *this_cu, - dwarf2_per_objfile *per_objfile, - const struct abbrev_table *abbrev_table, - dwarf2_cu *existing_cu, - bool skip_partial, - enum language pretend_language, - const abbrev_table_cache *cache = nullptr); - - cutu_reader (dwarf2_per_cu *this_cu, - dwarf2_per_objfile *per_objfile, - enum language pretend_language, - struct dwarf2_cu *parent_cu = nullptr, - struct dwo_file *dwo_file = nullptr); - - DISABLE_COPY_AND_ASSIGN (cutu_reader); - - cutu_reader (cutu_reader &&) = default; - - bool is_dummy () const { return m_dummy_p; } - - dwarf2_cu *cu () const { return m_cu; } - - die_info *comp_unit_die () const { return m_comp_unit_die; } - - const gdb_byte *info_ptr () const { return m_info_ptr; } - - bfd *abfd () const { return m_abfd; } - - const gdb_byte *buffer () const { return m_buffer; } - - const gdb_byte *buffer_end () const { return m_buffer_end; } - - const dwarf2_section_info *section () const { return m_die_section; } - - /* Release the new CU, putting it on the chain. This cannot be done - for dummy CUs. */ - void keep (); - - /* Release the abbrev table, transferring ownership to the - caller. */ - abbrev_table_up release_abbrev_table () - { - return std::move (m_abbrev_table_holder); - } - - die_info *read_die_and_siblings (const gdb_byte *info_ptr, - const gdb_byte **new_info_ptr, - die_info *parent); - - const gdb_byte *read_attribute (attribute *attr, const attr_abbrev *abbrev, - const gdb_byte *info_ptr, - bool allow_reprocess = true); - - const abbrev_info *peek_die_abbrev (const gdb_byte *info_ptr, - unsigned int *bytes_read); - - const gdb_byte *skip_one_die (const gdb_byte *info_ptr, - const abbrev_info *abbrev, - bool do_skip_children = true); - - const gdb_byte *skip_children (const gdb_byte *info_ptr); - -private: - void init_cu_die_reader (dwarf2_cu *cu, dwarf2_section_info *section, - struct dwo_file *dwo_file, - const struct abbrev_table *abbrev_table); - - void init_tu_and_read_dwo_dies (dwarf2_per_cu *this_cu, - dwarf2_per_objfile *per_objfile, - dwarf2_cu *existing_cu, - enum language pretend_language); - - int read_cutu_die_from_dwo (dwarf2_cu *cu, dwo_unit *dwo_unit, - die_info *stub_comp_unit_die, - const char *stub_comp_dir, - const gdb_byte **result_info_ptr, - die_info **result_comp_unit_die, - abbrev_table_up *result_dwo_abbrev_table); - - void prepare_one_comp_unit (struct dwarf2_cu *cu, - enum language pretend_language); - - const gdb_byte *read_toplevel_die (die_info **diep, const gdb_byte *info_ptr, - gdb::array_view<attribute *> extra_attrs - = {}); - - die_info *read_die_and_siblings_1 (const gdb_byte *, const gdb_byte **, - die_info *); - - die_info *read_die_and_children (const gdb_byte *info_ptr, - const gdb_byte **new_info_ptr, - die_info *parent); - - const gdb_byte *read_full_die_1 (die_info **diep, const gdb_byte *info_ptr, - int num_extra_attrs, bool allow_reprocess); - - const gdb_byte *read_attribute_value (attribute *attr, unsigned form, - LONGEST implicit_const, - const gdb_byte *info_ptr, - bool allow_reprocess); - - void read_attribute_reprocess (attribute *attr, - dwarf_tag tag = DW_TAG_padding); - - const char *read_dwo_str_index (ULONGEST str_index); - - /* The bfd of die_section. */ - bfd *m_abfd; - - /* The CU of the DIE we are parsing. */ - struct dwarf2_cu *m_cu; - - /* Non-NULL if reading a DWO file (including one packaged into a DWP). */ - struct dwo_file *m_dwo_file; - - /* The section the die comes from. - This is either .debug_info or .debug_types, or the .dwo variants. */ - struct dwarf2_section_info *m_die_section; - - /* die_section->buffer. */ - const gdb_byte *m_buffer; - - /* The end of the buffer. */ - const gdb_byte *m_buffer_end; - - /* The abbreviation table to use when reading the DIEs. */ - const struct abbrev_table *m_abbrev_table; - - const gdb_byte *m_info_ptr = nullptr; - struct die_info *m_comp_unit_die = nullptr; - bool m_dummy_p = false; - - dwarf2_per_cu *m_this_cu; - dwarf2_cu_up m_new_cu; - - /* The ordinary abbreviation table. */ - abbrev_table_up m_abbrev_table_holder; - - /* The DWO abbreviation table. */ - abbrev_table_up m_dwo_abbrev_table; -}; - /* FIXME: We might want to set this from BFD via bfd_arch_bits_per_byte, but this would require a corresponding change in unpack_field_as_long and friends. */ |