Remove 32-bit assumptions from the ELF code.
Change-Id: I2c1f3d34c33685799aade8866eec44479ff9f963
diff --git a/linker/linker_phdr.h b/linker/linker_phdr.h
index 992d95e..28d8b39 100644
--- a/linker/linker_phdr.h
+++ b/linker/linker_phdr.h
@@ -45,10 +45,10 @@
bool Load();
size_t phdr_count() { return phdr_num_; }
- Elf32_Addr load_start() { return reinterpret_cast<Elf32_Addr>(load_start_); }
- Elf32_Addr load_size() { return load_size_; }
- Elf32_Addr load_bias() { return load_bias_; }
- const Elf32_Phdr* loaded_phdr() { return loaded_phdr_; }
+ Elf_Addr load_start() { return reinterpret_cast<Elf_Addr>(load_start_); }
+ Elf_Addr load_size() { return load_size_; }
+ Elf_Addr load_bias() { return load_bias_; }
+ const Elf_Phdr* loaded_phdr() { return loaded_phdr_; }
private:
bool ReadElfHeader();
@@ -57,66 +57,46 @@
bool ReserveAddressSpace();
bool LoadSegments();
bool FindPhdr();
- bool CheckPhdr(Elf32_Addr);
+ bool CheckPhdr(Elf_Addr);
const char* name_;
int fd_;
- Elf32_Ehdr header_;
+ Elf_Ehdr header_;
size_t phdr_num_;
void* phdr_mmap_;
- Elf32_Phdr* phdr_table_;
- Elf32_Addr phdr_size_;
+ Elf_Phdr* phdr_table_;
+ Elf_Addr phdr_size_;
// First page of reserved address space.
void* load_start_;
// Size in bytes of reserved address space.
- Elf32_Addr load_size_;
+ Elf_Addr load_size_;
// Load bias.
- Elf32_Addr load_bias_;
+ Elf_Addr load_bias_;
// Loaded phdr.
- const Elf32_Phdr* loaded_phdr_;
+ const Elf_Phdr* loaded_phdr_;
};
-size_t
-phdr_table_get_load_size(const Elf32_Phdr* phdr_table,
- size_t phdr_count,
- Elf32_Addr* min_vaddr = NULL,
- Elf32_Addr* max_vaddr = NULL);
+size_t phdr_table_get_load_size(const Elf_Phdr* phdr_table, size_t phdr_count,
+ Elf_Addr* min_vaddr = NULL, Elf_Addr* max_vaddr = NULL);
-int
-phdr_table_protect_segments(const Elf32_Phdr* phdr_table,
- int phdr_count,
- Elf32_Addr load_bias);
+int phdr_table_protect_segments(const Elf_Phdr* phdr_table, size_t phdr_count, Elf_Addr load_bias);
-int
-phdr_table_unprotect_segments(const Elf32_Phdr* phdr_table,
- int phdr_count,
- Elf32_Addr load_bias);
+int phdr_table_unprotect_segments(const Elf_Phdr* phdr_table, size_t phdr_count, Elf_Addr load_bias);
-int
-phdr_table_protect_gnu_relro(const Elf32_Phdr* phdr_table,
- int phdr_count,
- Elf32_Addr load_bias);
+int phdr_table_protect_gnu_relro(const Elf_Phdr* phdr_table, size_t phdr_count, Elf_Addr load_bias);
#ifdef ANDROID_ARM_LINKER
-int
-phdr_table_get_arm_exidx(const Elf32_Phdr* phdr_table,
- int phdr_count,
- Elf32_Addr load_bias,
- Elf32_Addr** arm_exidx,
- unsigned* arm_exidix_count);
+int phdr_table_get_arm_exidx(const Elf_Phdr* phdr_table, size_t phdr_count, Elf_Addr load_bias,
+ Elf_Addr** arm_exidx, unsigned* arm_exidix_count);
#endif
-void
-phdr_table_get_dynamic_section(const Elf32_Phdr* phdr_table,
- int phdr_count,
- Elf32_Addr load_bias,
- Elf32_Dyn** dynamic,
- size_t* dynamic_count,
- Elf32_Word* dynamic_flags);
+void phdr_table_get_dynamic_section(const Elf_Phdr* phdr_table, size_t phdr_count,
+ Elf_Addr load_bias,
+ Elf_Dyn** dynamic, size_t* dynamic_count, Elf_Word* dynamic_flags);
#endif /* LINKER_PHDR_H */