// ehframe.h -- handle exception frame sections for gold -*- C++ -*-
-// Copyright 2006, 2007 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
this->fde_offsets_.push_back(std::make_pair(fde_offset, fde_encoding));
}
+ protected:
// Set the final data size.
void
set_final_data_size();
void
do_write(Output_file*);
+ // Write to a map file.
+ void
+ do_print_to_mapfile(Mapfile* mapfile) const
+ { mapfile->print_output_data(this, _("** eh_frame_hdr")); }
+
private:
// Write the data to the file with the right endianness.
template<int size, bool big_endian>
unsigned int
fde_count() const;
+ protected:
// Set the final data size.
void
set_final_data_size();
void
do_write(Output_file*);
+ // Write to a map file.
+ void
+ do_print_to_mapfile(Mapfile* mapfile) const
+ { mapfile->print_output_data(this, _("** eh_frame")); }
+
private:
// The comparison routine for the CIE map.
struct Cie_less
section_size_type symbol_names_size,
const unsigned char* pcontents,
const unsigned char* pcie,
- const unsigned char *pcieend,
+ const unsigned char* pcieend,
Track_relocs<size, big_endian>* relocs,
Offsets_to_cie* cies,
New_cies* new_cies);
const unsigned char* pcontents,
unsigned int offset,
const unsigned char* pfde,
- const unsigned char *pfdeend,
+ const unsigned char* pfdeend,
Track_relocs<size, big_endian>* relocs,
Offsets_to_cie* cies);
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
+ // true.
+ section_size_type final_data_size_;
};
} // End namespace gold.