From Craig Silverstein: Add support for compressing .debug_str section.

This commit is contained in:
Ian Lance Taylor
2007-11-30 00:35:27 +00:00
parent 71195202df
commit 9a0910c33e
20 changed files with 1666 additions and 444 deletions

View File

@@ -209,10 +209,16 @@ class Output_merge_string : public Output_merge_base
this->stringpool_.set_no_zero_null();
}
protected:
// Add an input section.
bool
do_add_input_section(Relobj* object, unsigned int shndx);
// Do all the final processing after the input sections are read in.
// Returns the final data size.
off_t
finalize_merged_data();
// Set the final data size.
void
set_final_data_size();
@@ -221,6 +227,16 @@ class Output_merge_string : public Output_merge_base
void
do_write(Output_file*);
// Writes the stringpool to a buffer.
void
stringpool_to_buffer(char* buffer, size_t buffer_size)
{ this->stringpool_.write_to_buffer(buffer, buffer_size); }
// Clears all the data in the stringpool, to save on memory.
void
clear_stringpool()
{ stringpool_.clear(); }
private:
// As we see input sections, we build a mapping from object, section
// index and offset to strings.