aboutsummaryrefslogtreecommitdiff
path: root/gold/merge.h
diff options
context:
space:
mode:
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.