Initialize ClassLinker from image

Change-Id: Ibaf47b4181f7c6603a8b37e2eba8fa6509c927ed
diff --git a/src/image.h b/src/image.h
index c4123e8..c567880 100644
--- a/src/image.h
+++ b/src/image.h
@@ -6,6 +6,7 @@
 #include <string.h>
 
 #include "globals.h"
+#include "object.h"
 
 namespace art {
 
@@ -14,7 +15,8 @@
  public:
   ImageHeader() {}
 
-  ImageHeader(uint32_t base_addr) : base_addr_(base_addr) {
+  ImageHeader(uint32_t base_addr, uint32_t intern_addr)
+      : base_addr_(base_addr), intern_addr_(intern_addr) {
     memcpy(magic_, kImageMagic, sizeof(kImageMagic));
     memcpy(version_, kImageVersion, sizeof(kImageVersion));
   }
@@ -33,13 +35,22 @@
     return reinterpret_cast<byte*>(base_addr_);
   }
 
+  ObjectArray<Object>* GetInternedArray() const {
+    return reinterpret_cast<ObjectArray<Object>*>(intern_addr_);
+  }
+
  private:
   static const byte kImageMagic[4];
   static const byte kImageVersion[4];
 
   byte magic_[4];
   byte version_[4];
+
+  // required base address for mapping the image.
   uint32_t base_addr_;
+
+  // absolute address of an Object[] of Strings to InternTable::Register
+  uint32_t intern_addr_;
 };
 
 }  // namespace art