aboutsummaryrefslogtreecommitdiff
path: root/gold/readsyms.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2012-02-29 21:22:29 +0000
committerCary Coutant <ccoutant@google.com>2012-02-29 21:22:29 +0000
commit5dd8762ad1a47548394c76ead1b56fc5dab64628 (patch)
tree54eeb14cc262fb233284909e649157185c6a92d2 /gold/readsyms.cc
parent718cb7da5d4c438d89fc9aeac7f535d01d64af42 (diff)
downloadfsf-binutils-gdb-5dd8762ad1a47548394c76ead1b56fc5dab64628.zip
fsf-binutils-gdb-5dd8762ad1a47548394c76ead1b56fc5dab64628.tar.gz
fsf-binutils-gdb-5dd8762ad1a47548394c76ead1b56fc5dab64628.tar.bz2
* dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info):
Call Object::decompressed_section_contents. * dwarf_reader.h (Sized_dwarf_line_info::~Sized_dwarf_line_info): New dtor. (Sized_dwarf_line_info::buffer_start_): New data member. * merge.cc (Output_merge_data::do_add_input_section): Call Object::decompressed_section_contents. (Output_merge_string::do_add_input_section): Likewise. * object.cc (need_decompressed_section): New function. (build_compressed_section_map): Decompress sections needed later. (Sized_relobj_file::do_decompressed_section_contents): New function. (Sized_relobj_file::do_discard_decompressed_sections): New function. * object.h (Object::decompressed_section_contents): New function. (Object::discard_decompressed_sections): New function. (Object::do_decompressed_section_contents): New function. (Object::do_discard_decompressed_sections): New function. (Compressed_section_info): New type. (Compressed_section_map): Include decompressed section contents. (Sized_relobj_file::do_decompressed_section_contents): New function. (Sized_relobj_file::do_discard_decompressed_sections): New function.
Diffstat (limited to 'gold/readsyms.cc')
-rw-r--r--gold/readsyms.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/gold/readsyms.cc b/gold/readsyms.cc
index 9974722..8e52ccb 100644
--- a/gold/readsyms.cc
+++ b/gold/readsyms.cc
@@ -602,6 +602,7 @@ Add_symbols::run(Workqueue*)
if (!this->input_objects_->add_object(this->object_))
{
+ this->object_->discard_decompressed_sections();
gold_assert(this->sd_ != NULL);
delete this->sd_;
this->sd_ = NULL;
@@ -632,6 +633,7 @@ Add_symbols::run(Workqueue*)
}
this->object_->layout(this->symtab_, this->layout_, this->sd_);
this->object_->add_symbols(this->symtab_, this->sd_, this->layout_);
+ this->object_->discard_decompressed_sections();
delete this->sd_;
this->sd_ = NULL;
this->object_->release();