summaryrefslogtreecommitdiff
path: root/gold/ehframe.h
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <rafael.espindola@gmail.com>2015-03-04 15:10:18 -0800
committerCary Coutant <ccoutant@google.com>2015-03-04 15:10:18 -0800
commitdbe40a889191708b6e32441b1c64937844645574 (patch)
treeb5c4ecc22a88cef387404490054caf90fd4d156e /gold/ehframe.h
parenta8d9763abd6c461d646034537633fb03f5eabfd1 (diff)
Remove empty class Merge_map.
2015-03-02 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> * 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<Char_type>::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<size>::initialize_input_to_output_map): Use object->initialize_input_to_output_map. (Merged_symbol_value<size>::value_from_output_section): Use object->merge_output_offset.
Diffstat (limited to 'gold/ehframe.h')
-rw-r--r--gold/ehframe.h13
1 files changed, 4 insertions, 9 deletions
diff --git a/gold/ehframe.h b/gold/ehframe.h
index aa2bd31ab8..bb47381d18 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