Refactor ElfWriter and introduce ElfWriterQuick

Change-Id: I3eaa1fa1085bb4d28fe342a7420272720e48274b
diff --git a/src/elf_writer_test.cc b/src/elf_writer_test.cc
index a47bc71..d4486d2 100644
--- a/src/elf_writer_test.cc
+++ b/src/elf_writer_test.cc
@@ -31,21 +31,10 @@
 };
 
 #define EXPECT_ELF_FILE_ADDRESS(ef, value, name, build_map) \
-  EXPECT_EQ(value, reinterpret_cast<void*>(ef->FindSymbolAddress(::llvm::ELF::SHT_SYMTAB, name, build_map))); \
   EXPECT_EQ(value, reinterpret_cast<void*>(ef->FindSymbolAddress(::llvm::ELF::SHT_DYNSYM, name, build_map))); \
   EXPECT_EQ(value, ef->FindDynamicSymbolAddress(name)); \
 
-/*
- * TODO: Reenable dlopen when it works again on MIPS. It may have broken from this change:
- * commit 818d98eb563ad5d7293b8b5c40f3dabf745e611f
- * Author: Brian Carlstrom <bdc@google.com>
- * Date:   Sun Feb 10 21:38:12 2013 -0800
- *
- *    Fix MIPS to use standard kPageSize=0x1000 section alignment for ELF sections
- *
- *    Change-Id: I905f0c5f75921a65bd7426a54d6258c780d85d0e
- */
-TEST_F(ElfWriterTest, DISABLED_dlsym) {
+TEST_F(ElfWriterTest, dlsym) {
   std::string elf_filename;
   if (IsHost()) {
     const char* host_dir = getenv("ANDROID_HOST_OUT");