aboutsummaryrefslogtreecommitdiff
path: root/gold/reloc.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2010-03-10 17:37:11 +0000
committerCary Coutant <ccoutant@google.com>2010-03-10 17:37:11 +0000
commita2a5469e7999a8e4e713e11bfd191c11a422e1e8 (patch)
tree92315f4087cfe181e318353ff45b1eb1409c3959 /gold/reloc.cc
parent8861f32bfe734089329baf93a95f74ccc75dff44 (diff)
downloadfsf-binutils-gdb-a2a5469e7999a8e4e713e11bfd191c11a422e1e8.zip
fsf-binutils-gdb-a2a5469e7999a8e4e713e11bfd191c11a422e1e8.tar.gz
fsf-binutils-gdb-a2a5469e7999a8e4e713e11bfd191c11a422e1e8.tar.bz2
* 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.
Diffstat (limited to 'gold/reloc.cc')
-rw-r--r--gold/reloc.cc2
1 files changed, 1 insertions, 1 deletions
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.