Make out arguments non-reference types.

Also, tidy some portable related code.

Change-Id: I67c8aa52eef8b556ca117ecda1b1e75465ba06a5
diff --git a/compiler/elf_writer.h b/compiler/elf_writer.h
index 99dfc56..3610d1a 100644
--- a/compiler/elf_writer.h
+++ b/compiler/elf_writer.h
@@ -23,7 +23,6 @@
 #include <vector>
 
 #include "base/macros.h"
-#include "elf_utils.h"
 #include "os.h"
 
 namespace art {
@@ -42,21 +41,23 @@
                                    size_t& oat_data_offset);
 
   // Returns runtime oat_data runtime address for an opened ElfFile.
-  static Elf32_Addr GetOatDataAddress(ElfFile* elf_file);
+  static uint32_t GetOatDataAddress(ElfFile* elf_file);
 
  protected:
-  ElfWriter(const CompilerDriver& driver, File* elf_file);
-  virtual ~ElfWriter();
+  ElfWriter(const CompilerDriver& driver, File* elf_file)
+    : compiler_driver_(&driver), elf_file_(elf_file) {
+  }
 
-  virtual bool Write(OatWriter& oat_writer,
+  virtual ~ElfWriter() {}
+
+  virtual bool Write(OatWriter* oat_writer,
                      const std::vector<const DexFile*>& dex_files,
                      const std::string& android_root,
                      bool is_host)
       SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) = 0;
 
-  // Setup by constructor
-  const CompilerDriver* compiler_driver_;
-  File* elf_file_;
+  const CompilerDriver* const compiler_driver_;
+  File* const elf_file_;
 };
 
 }  // namespace art