Remove 32-bit assumptions from the ELF code.
Change-Id: I2c1f3d34c33685799aade8866eec44479ff9f963
This commit is contained in:
@@ -100,24 +100,28 @@ typedef void (*linker_function_t)();
|
||||
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 @@ struct soinfo {
|
||||
|
||||
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 @@ struct soinfo {
|
||||
|
||||
// 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 @@ void do_android_update_LD_LIBRARY_PATH(const char* ld_library_path);
|
||||
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;
|
||||
|
Reference in New Issue
Block a user