aboutsummaryrefslogtreecommitdiff
path: root/gold/fileread.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/fileread.cc')
-rw-r--r--gold/fileread.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gold/fileread.cc b/gold/fileread.cc
index 654e47b..36485a9 100644
--- a/gold/fileread.cc
+++ b/gold/fileread.cc
@@ -717,7 +717,9 @@ File_read::clear_views(Clear_views_mode mode)
should_delete = false;
else if (mode == CLEAR_VIEWS_ALL)
should_delete = true;
- else if (p->second->should_cache() && keep_files_mapped)
+ else if ((p->second->should_cache()
+ || p->second == this->whole_file_view_)
+ && keep_files_mapped)
should_delete = false;
else if (this->object_count_ > 1
&& p->second->accessed()