From 96b792931fe4dd30f42eecd711ad5e44b6b135a3 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sat, 8 Feb 2020 13:40:54 -0700 Subject: Change section functions to be methods of dwarf2_section_info This changes various section-related functions to be methods on dwarf2_section_info. I think this clarifies the role of these functions. This also changes one such function to return bool. gdb/ChangeLog 2020-02-08 Tom Tromey * dwarf2read.c (dwarf2_section_buffer_overflow_complaint) (dwarf2_section_size, dwarf2_get_section_info) (create_signatured_type_table_from_debug_names) (create_addrmap_from_aranges, read_debug_names_from_section) (get_gdb_index_contents_from_section, read_comp_unit_head) (error_check_comp_unit_head, read_abbrev_offset) (create_debug_type_hash_table, init_cu_die_reader) (read_cutu_die_from_dwo, dwarf2_build_psymtabs_hard) (read_comp_units_from_section, create_cus_hash_table) (create_dwp_hash_table, create_dwo_unit_in_dwp_v1) (create_dwp_v2_section, dwarf2_rnglists_process) (dwarf2_ranges_process, read_die_and_siblings, read_full_die) (abbrev_table_read_table, read_indirect_string_at_offset_from) (read_indirect_string_from_dwz, read_addr_index_1) (read_str_index, dwarf_decode_line_header, skip_form_bytes) (dwarf_decode_macro_bytes, dwarf_decode_macros) (fill_in_loclist_baton): Update. * dwarf2/section.h (struct dwarf2_section_info) : Declare methods. (dwarf2_read_section, get_section_name, get_section_file_name) (get_containing_section, get_section_bfd_owner) (get_section_bfd_section, get_section_name, get_section_file_name) (get_section_id, get_section_flags, dwarf2_section_empty_p): Don't declare. * dwarf2/section.c (dwarf2_section_info::get_containing_section) (dwarf2_section_info::get_bfd_owner) (dwarf2_section_info::get_bfd_section) (dwarf2_section_info::get_name) (dwarf2_section_info::get_file_name, dwarf2_section_info::get_id) (dwarf2_section_info::get_flags, dwarf2_section_info::empty) (dwarf2_section_info::read): Now methods. * dwarf-index-write.c (class debug_names): Update. Change-Id: Ic849f182f57a18bad6b1c7c3b9368005d307758a --- gdb/dwarf2/section.h | 87 ++++++++++++++++++++++------------------------------ 1 file changed, 36 insertions(+), 51 deletions(-) (limited to 'gdb/dwarf2/section.h') diff --git a/gdb/dwarf2/section.h b/gdb/dwarf2/section.h index a1acc5f..f76f1ef 100644 --- a/gdb/dwarf2/section.h +++ b/gdb/dwarf2/section.h @@ -45,6 +45,42 @@ struct dwarf2_section_info { + /* Return the name of this section. */ + const char *get_name () const; + + /* Return the containing section of this section, which must be a + virtual section. */ + struct dwarf2_section_info *get_containing_section () const; + + /* Return the bfd owner of this section. */ + struct bfd *get_bfd_owner () const; + + /* Return the bfd section of this section. + Returns NULL if the section is not present. */ + asection *get_bfd_section () const; + + /* Return the name of the file this section is in. */ + const char *get_file_name () const; + + /* Return the id of this section. + Returns 0 if this section doesn't exist. */ + int get_id () const; + + /* Return the flags of this section. This section (or containing + section if this is a virtual section) must exist. */ + int get_flags () const; + + /* Return true if this section does not exist or if it has no + contents. */ + bool empty () const; + + /* Read the contents of this section. + OBJFILE is the main object file, but not necessarily the file where + the section comes from. E.g., for DWO files the bfd of INFO is the bfd + of the DWO file. + If the section is compressed, uncompress it before returning. */ + void read (struct objfile *objfile); + union { /* If this is a real section, the bfd section. */ @@ -67,55 +103,4 @@ struct dwarf2_section_info bool is_virtual; }; -/* Read the contents of the section INFO. - OBJFILE is the main object file, but not necessarily the file where - the section comes from. E.g., for DWO files the bfd of INFO is the bfd - of the DWO file. - If the section is compressed, uncompress it before returning. */ - -extern void dwarf2_read_section (struct objfile *objfile, - dwarf2_section_info *info); - -extern const char *get_section_name (const struct dwarf2_section_info *); - -extern const char *get_section_file_name (const struct dwarf2_section_info *); - -/* Return the containing section of virtual section SECTION. */ - -extern struct dwarf2_section_info *get_containing_section - (const struct dwarf2_section_info *section); - -/* Return the bfd owner of SECTION. */ - -extern struct bfd *get_section_bfd_owner - (const struct dwarf2_section_info *section); - -/* Return the bfd section of SECTION. - Returns NULL if the section is not present. */ - -extern asection *get_section_bfd_section - (const struct dwarf2_section_info *section); - -/* Return the name of SECTION. */ - -extern const char *get_section_name - (const struct dwarf2_section_info *section); - -/* Return the name of the file SECTION is in. */ - -extern const char *get_section_file_name - (const struct dwarf2_section_info *section); - -/* Return the id of SECTION. - Returns 0 if SECTION doesn't exist. */ - -extern int get_section_id (const struct dwarf2_section_info *section); - -/* Return the flags of SECTION. - SECTION (or containing section if this is a virtual section) must exist. */ - -extern int get_section_flags (const struct dwarf2_section_info *section); - -extern int dwarf2_section_empty_p (const struct dwarf2_section_info *section); - #endif /* GDB_DWARF2_SECTION_H */ -- cgit v1.1