aboutsummaryrefslogtreecommitdiff
path: root/gold/gdb-index.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2013-03-01 23:05:27 +0000
committerCary Coutant <ccoutant@google.com>2013-03-01 23:05:27 +0000
commitd5834edbc87adeb263abe8e1df77e87f265b2e2c (patch)
tree57c60161a1892836d71eee39c5e96c0982d55f04 /gold/gdb-index.cc
parent2fd2526eddaaae19b22deae59edee05fd1965d91 (diff)
downloadfsf-binutils-gdb-d5834edbc87adeb263abe8e1df77e87f265b2e2c.zip
fsf-binutils-gdb-d5834edbc87adeb263abe8e1df77e87f265b2e2c.tar.gz
fsf-binutils-gdb-d5834edbc87adeb263abe8e1df77e87f265b2e2c.tar.bz2
Add dwp support for v2 DWARF package file format.
gold/ * dwarf_reader.cc (Dwarf_info_reader::visit_type_unit): Add tu_length parameter. Adjust all callers. * dwarf_reader.h (Dwarf_info_reader::visit_type_unit): Likewise. * dwp.cc: Include dwarf.h. (Section_bounds): New struct type. (Unit_set): New struct type. (Dwo_file::Dwo_file): Initialize new data member. (Dwo_file::read_compunit_index, Dwo_file::read_typeunit_index): Combine and rename to... (Dwo_file::read_unit_index): ...this. (Dwo_file::sized_read_compunit_index) (Dwo_file::sized_read_typeunit_index): Combine and rename to... (Dwo_file::sized_read_unit_index): ...this. (Dwo_file::copy_section): Remove section_name, is_str_offsets parameters; add section_id parameter. (Dwo_file::add_cu_set, Dwo_file::add_tu_set): Combine and rename to... (Dwo_file::add_unit_set): ...this. (Dwo_file::shndx_map_): Remove. (Dwo_file::sect_offsets_): New data member. (Dwp_output_file::Dwp_output_file): Initialize new data members. (Dwp_output_file::add_section): Rename to... (Dwp_output_file::add_contribution): ...this. (Dwp_output_file::add_cu_set): Combine parameters into a struct. (Dwp_output_file::add_tu_set): Likewise. (Dwp_output_file::Contribution): New type. (Dwp_output_file::Section::contributions): New data member. (Dwp_output_file::Cu_or_tu_set): Remove. (Dwp_output_file::Section::Section): New ctor. (Dwp_output_file::Dwp_index::Shndx_pool): Remove. (Dwp_output_file::Dwp_index::Section_table): New type. (Dwp_output_file::Dwp_index::Dwp_index): Initialize new data members. (Dwp_output_file::Dwp_index::enter_set): Change type of "set" parameter. (Dwp_output_file::Dwp_index::shndx_pool): Remove. (Dwp_output_file::Dwp_index::shndx_pool_end): Remove. (Dwp_output_file::Dwp_index::section_table): New member function. (Dwp_output_file::Dwp_index::section_table_end): New member function. (Dwp_output_file::Dwp_index::shndx_pool_size): Remove. (Dwp_output_file::Dwp_index::section_table_rows): New member function. (Dwp_output_file::Dwp_index::section_table_cols): New member function. (Dwp_output_file::Dwp_index::shndx_pool_): Remove. (Dwp_output_file::Dwp_index::section_table_): New data member. (Dwp_output_file::Dwp_index::section_mask_): New data member. (Dwp_output_file::add_output_section): New member function. (Dwp_output_file::write_new_section): New member function. (Dwp_output_file::write_contributions): New member function. (Dwp_output_file::section_id_map_): New data member. (class Dwo_id_info_reader): Remove. (class Unit_reader): New class. (get_dwarf_section_name): New function. (Dwo_file::read_executable): Adjust initializations of class data. (Dwo_file::read): Add support for v2 package file format. (Dwo_file::read_unit_index): Likewise. (Dwo_file::sized_read_unit_index): Likewise. (Dwo_file::copy_section): Likewise. (Dwo_file::add_unit_set): Likewise. (Dwp_output_file::add_output_section): Likewise. (Dwp_output_file::add_contribution): Likewise. (Dwp_output_file::Dwp_index::find_or_add): Use row index to check for empty slot. (Dwp_output_file::Dwp_index::enter_set): Add support for v2 package file format. (Dwp_output_file::Dwp_index::grow): Use row index to check for empty slot. (Dwp_output_file::initialize): Remove unused function. (Dwp_output_file::finalize): Add support for v2 package file format. (Dwp_output_file::write_index): Likewise. * gdb-index.cc (Gdb_index_info_reader::visit_type_unit): Adjust function prototype.
Diffstat (limited to 'gold/gdb-index.cc')
-rw-r--r--gold/gdb-index.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/gold/gdb-index.cc b/gold/gdb-index.cc
index d3c9d61..91634a4 100644
--- a/gold/gdb-index.cc
+++ b/gold/gdb-index.cc
@@ -203,8 +203,8 @@ class Gdb_index_info_reader : public Dwarf_info_reader
// Visit a type unit.
virtual void
- visit_type_unit(off_t tu_offset, off_t type_offset, uint64_t signature,
- Dwarf_die*);
+ visit_type_unit(off_t tu_offset, off_t tu_length, off_t type_offset,
+ uint64_t signature, Dwarf_die*);
private:
// A map for recording DIEs we've seen that may be referred to be
@@ -325,8 +325,9 @@ Gdb_index_info_reader::visit_compilation_unit(off_t cu_offset, off_t cu_length,
// Process a type unit and parse its child DIE.
void
-Gdb_index_info_reader::visit_type_unit(off_t tu_offset, off_t type_offset,
- uint64_t signature, Dwarf_die* root_die)
+Gdb_index_info_reader::visit_type_unit(off_t tu_offset, off_t,
+ off_t type_offset, uint64_t signature,
+ Dwarf_die* root_die)
{
++Gdb_index_info_reader::dwarf_tu_count;
// Use a negative index to flag this as a TU instead of a CU.