aboutsummaryrefslogtreecommitdiff
path: root/gold/merge.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-11-30 00:35:27 +0000
committerIan Lance Taylor <iant@google.com>2007-11-30 00:35:27 +0000
commit9a0910c33e1a6962d475ee0a994fd1f5e446a888 (patch)
treef30e7b369cc05383699fbe4780ee0839b8dbcdde /gold/merge.h
parent71195202dfb59bb7b61b35dc4cc5d202fab12020 (diff)
downloadgdb-9a0910c33e1a6962d475ee0a994fd1f5e446a888.zip
gdb-9a0910c33e1a6962d475ee0a994fd1f5e446a888.tar.gz
gdb-9a0910c33e1a6962d475ee0a994fd1f5e446a888.tar.bz2
From Craig Silverstein: Add support for compressing .debug_str section.
Diffstat (limited to 'gold/merge.h')
-rw-r--r--gold/merge.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/gold/merge.h b/gold/merge.h
index 70fe6b7..a28ff42 100644
--- a/gold/merge.h
+++ b/gold/merge.h
@@ -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.