From dbe40a889191708b6e32441b1c64937844645574 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Wed, 4 Mar 2015 15:10:18 -0800 Subject: Remove empty class Merge_map. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2015-03-02 Rafael Ávila de Espíndola * ehframe.cc (Cie::set_output_offset): Pass in and use a Output_section_data instead of a Merge_map. (Eh_frame::Eh_frame): Don't initialize merge_map_. (Eh_frame::read_cie): Use add_merge_mapping instead of Merge_map::add_mapping. (Eh_frame::read_fde): Ditto. (Eh_frame::set_final_data_size): Use this instead of this->merge_map_. (Eh_frame::do_output_offset): Use merge_output_offset istead of merge_map_->get_output_offset. (Eh_frame::do_is_merge_section_for): Delete. * ehframe.h (Fde::add_mapping): Pass in and use a Output_section_data instead of a Merge_map. (Cie::set_output_offset): Pass in a Output_section_data instead of a Merge_map. (Eh_frame::do_is_merge_section_for): Delete. (Eh_frame::merge_map_): Delete. * merge.cc (Object_merge_map::get_or_make_input_merge_map): Pass in and use a Output_section_data instead of a Merge_map. (Object_merge_map::add_mapping): Ditto. (Object_merge_map::get_output_offset): Remove the merge_map argument. (Object_merge_map::is_merge_section_for): Pass in and use a Output_section_data instead of a Merge_map. (Merge_map): Delete. (Output_merge_base::do_output_offset): Use merge_output_offset instead of merge_map_.get_output_offset. (Output_merge_base::do_is_merge_section_for): Delete. (Output_merge_data::do_add_input_section): Use object->add_merge_mapping instead of add_mapping. (Output_merge_string::finalize_merged_data): Ditto. * merge.h (Merge_map): Delete forward declaration. (Object_merge_map::add_mapping): Pass in and use a Output_section_data instead of a Merge_map. (Object_merge_map::get_output_offset): Remove the merge_map argument. (Object_merge_map::is_merge_section_for): Pass in and use a Output_section_data instead of a Merge_map. (Input_merge_map::Object_merge_map::merge_map): Replace with output_data. (Object_merge_map::get_or_make_input_merge_map): Pass in and use a Output_section_data instead of a Merge_map. (Merge_map): Delete. (Output_merge_base::Output_merge_base): Don't initialize merge_map_. (Output_merge_base::do_is_merge_section_for): Delete. (Output_merge_base::add_mapping): Delete. (Output_merge_base::merge_map_): Delete. * object.cc (Relobj::initialize_input_to_output_map): New. (Relobj::initialize_input_to_output_map): New. (Relobj::merge_output_offset): New. (Relobj::is_merge_section_for): New. (Relobj::initialize_input_to_output_map): Instantiate for 32 and 64 bits. * object.h (Relobj::merge_map): Delete. (initialize_input_to_output_map): New. (set_merge_map): Delete. (add_merge_mapping): New. (merge_output_offset): New. (is_merge_section_for): New. * output.cc (Output_section::Input_section::is_merge_section_for): Use object->is_merge_section_for. * output.h (Output_section_data::is_merge_section_for): Delete. (Output_section_data::do_is_merge_section_for): Delete. * reloc.cc (Merged_symbol_value::initialize_input_to_output_map): Use object->initialize_input_to_output_map. (Merged_symbol_value::value_from_output_section): Use object->merge_output_offset. --- gold/ehframe.h | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'gold/ehframe.h') diff --git a/gold/ehframe.h b/gold/ehframe.h index aa2bd31..bb47381 100644 --- a/gold/ehframe.h +++ b/gold/ehframe.h @@ -192,10 +192,11 @@ class Fde // Add a mapping for this FDE to MERGE_MAP, so that relocations // against the FDE are applied to right part of the output file. void - add_mapping(section_offset_type output_offset, Merge_map* merge_map) const + add_mapping(section_offset_type output_offset, + Output_section_data* output_data) const { if (this->object_ != NULL) - merge_map->add_mapping(this->object_, this->u_.from_object.shndx, + this->object_->add_merge_mapping(output_data, this->u_.from_object.shndx, this->u_.from_object.input_offset, this->length(), output_offset); } @@ -308,7 +309,7 @@ class Cie // mapping. It returns the new output offset. section_offset_type set_output_offset(section_offset_type output_offset, unsigned int addralign, - Merge_map*); + Output_section_data*); // Write the CIE to OVIEW starting at OFFSET. Round up the bytes to // ADDRALIGN. ADDRESS is the virtual address of OVIEW. @@ -406,10 +407,6 @@ class Eh_frame : public Output_section_data section_offset_type offset, section_offset_type* poutput) const; - // Return whether this is the merge section for an input section. - bool - do_is_merge_section_for(const Relobj*, unsigned int shndx) const; - // Write the data to the file. void do_write(Output_file*); @@ -504,8 +501,6 @@ class Eh_frame : public Output_section_data // A mapping from unmergeable CIEs to their offset in the output // file. Unmergeable_cie_offsets unmergeable_cie_offsets_; - // A mapping from input sections to the output section. - Merge_map merge_map_; // Whether we have created the mappings to the output section. bool mappings_are_done_; // The final data size. This is only set if mappings_are_done_ is -- cgit v1.1