From a2a5469e7999a8e4e713e11bfd191c11a422e1e8 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Wed, 10 Mar 2010 17:37:11 +0000 Subject: * fileread.cc (File_read::~File_read): Don't delete whole_file_view_. (File_read::open[1]): Remove initial mapping of whole_file_view_. (File_read::open[2]): Add whole_file_view_ to list of views. (File_read::make_view): Remove test of whole_file_view_. (File_read::find_or_make_view): Create whole_file_view_ if necessary. (File_read::clear_views): Replace bool parameter with enum; adjust all callers. Don't delete views with permanent data; do delete cached views and views from archives if --no-keep-files-mapped is set. Set whole_file_view_ to NULL if clearing the corresponding view. * fileread.h (File_read::Clear_views_mode): New enum. (File_read::View::is_permanent_view): New method. (File_read::clear_views): Replace bool parameter with enum; adjust all callers. * options.h (General_options): Change keep_files_mapped option; add map_whole_files. * readsyms.cc (Add_symbols::run): Delete sd_ object before releasing the file. * reloc.cc (Scan_relocs::run): Delete rd_ object before releasing the file. --- gold/reloc.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gold/reloc.cc') diff --git a/gold/reloc.cc b/gold/reloc.cc index 0061059..617573d 100644 --- a/gold/reloc.cc +++ b/gold/reloc.cc @@ -179,9 +179,9 @@ void Scan_relocs::run(Workqueue*) { this->object_->scan_relocs(this->symtab_, this->layout_, this->rd_); - this->object_->release(); delete this->rd_; this->rd_ = NULL; + this->object_->release(); } // Return a debugging name for the task. -- cgit v1.1