Remove 32-bit assumptions from the ELF code.

Change-Id: I2c1f3d34c33685799aade8866eec44479ff9f963
diff --git a/linker/linker.h b/linker/linker.h
index 200a682..ac7b9fe 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -100,24 +100,28 @@
 struct soinfo {
  public:
   char name[SOINFO_NAME_LEN];
-  const Elf32_Phdr* phdr;
+  const Elf_Phdr* phdr;
   size_t phnum;
-  Elf32_Addr entry;
-  Elf32_Addr base;
+  Elf_Addr entry;
+  Elf_Addr base;
   unsigned size;
 
+#ifndef __LP64__
   uint32_t unused1;  // DO NOT USE, maintained for compatibility.
+#endif
 
-  Elf32_Dyn* dynamic;
+  Elf_Dyn* dynamic;
 
+#ifndef __LP64__
   uint32_t unused2; // DO NOT USE, maintained for compatibility
   uint32_t unused3; // DO NOT USE, maintained for compatibility
+#endif
 
   soinfo* next;
   unsigned flags;
 
   const char* strtab;
-  Elf32_Sym* symtab;
+  Elf_Sym* symtab;
 
   size_t nbucket;
   size_t nchain;
@@ -126,10 +130,10 @@
 
   unsigned* plt_got;
 
-  Elf32_Rel* plt_rel;
+  Elf_Rel* plt_rel;
   size_t plt_rel_count;
 
-  Elf32_Rel* rel;
+  Elf_Rel* rel;
   size_t rel_count;
 
   linker_function_t* preinit_array;
@@ -160,7 +164,7 @@
 
   // When you read a virtual address from the ELF file, add this
   // value to get the corresponding address in the process' address space.
-  Elf32_Addr load_bias;
+  Elf_Addr load_bias;
 
   bool has_text_relocations;
   bool has_DT_SYMBOLIC;
@@ -188,11 +192,11 @@
 soinfo* do_dlopen(const char* name, int flags);
 int do_dlclose(soinfo* si);
 
-Elf32_Sym* dlsym_linear_lookup(const char* name, soinfo** found, soinfo* start);
+Elf_Sym* dlsym_linear_lookup(const char* name, soinfo** found, soinfo* start);
 soinfo* find_containing_library(const void* addr);
 
-Elf32_Sym* dladdr_find_symbol(soinfo* si, const void* addr);
-Elf32_Sym* dlsym_handle_lookup(soinfo* si, const char* name);
+Elf_Sym* dladdr_find_symbol(soinfo* si, const void* addr);
+Elf_Sym* dlsym_handle_lookup(soinfo* si, const char* name);
 
 void debuggerd_init();
 extern "C" abort_msg_t* gAbortMessage;