refactoring: introduce MappedFileFragment

Change-Id: I97b0c1131711ed0ac13ab33e3357e99e0b6b1a4e
diff --git a/linker/linker_phdr.h b/linker/linker_phdr.h
index 55196fd..4e02197 100644
--- a/linker/linker_phdr.h
+++ b/linker/linker_phdr.h
@@ -36,11 +36,11 @@
  */
 
 #include "linker.h"
+#include "linker_mapped_file_fragment.h"
 
 class ElfReader {
  public:
   ElfReader(const char* name, int fd, off64_t file_offset, off64_t file_size);
-  ~ElfReader();
 
   bool Load(const android_dlextinfo* extinfo);
 
@@ -67,9 +67,8 @@
   ElfW(Ehdr) header_;
   size_t phdr_num_;
 
-  void* phdr_mmap_;
-  ElfW(Phdr)* phdr_table_;
-  ElfW(Addr) phdr_size_;
+  MappedFileFragment phdr_fragment_;
+  const ElfW(Phdr)* phdr_table_;
 
   // First page of reserved address space.
   void* load_start_;