/bionic/linker/ |
D | linker_phdr.h | 50 ElfW(Addr) load_start() const { return reinterpret_cast<ElfW(Addr)>(load_start_); } in load_start() 52 ElfW(Addr) load_bias() const { return load_bias_; } in load_bias() 53 const ElfW(Phdr)* loaded_phdr() const { return loaded_phdr_; } in ElfW() function 54 const ElfW(Dyn)* dynamic() const { return dynamic_; } in ElfW() function 55 const char* get_string(ElfW(Word) index) const; 67 bool CheckPhdr(ElfW(Addr)); 68 bool CheckFileRange(ElfW(Addr) offset, size_t size); 77 ElfW(Ehdr) header_; 81 const ElfW(Phdr)* phdr_table_; 84 const ElfW(Shdr)* shdr_table_; [all …]
|
D | linker_phdr.cpp | 177 const char* ElfReader::get_string(ElfW(Word) index) const { in get_string() 251 bool ElfReader::CheckFileRange(ElfW(Addr) offset, size_t size) { in CheckFileRange() 268 if (phdr_num_ < 1 || phdr_num_ > 65536/sizeof(ElfW(Phdr))) { in ReadProgramHeaders() 274 size_t size = phdr_num_ * sizeof(ElfW(Phdr)); in ReadProgramHeaders() 285 phdr_table_ = static_cast<ElfW(Phdr)*>(phdr_fragment_.data()); in ReadProgramHeaders() 297 size_t size = shdr_num_ * sizeof(ElfW(Shdr)); in ReadSectionHeaders() 308 shdr_table_ = static_cast<const ElfW(Shdr)*>(shdr_fragment_.data()); in ReadSectionHeaders() 314 const ElfW(Shdr)* dynamic_shdr = nullptr; in ReadDynamicSection() local 332 const ElfW(Shdr)* strtab_shdr = &shdr_table_[dynamic_shdr->sh_link]; in ReadDynamicSection() local 351 dynamic_ = static_cast<const ElfW(Dyn)*>(dynamic_fragment_.data()); in ReadDynamicSection() [all …]
|
D | linker.h | 164 const version_info* get_version_info(ElfW(Versym) source_symver) const; 168 void add_version_info(size_t source_index, ElfW(Word) elf_hash, 185 const ElfW(Phdr)* phdr; 187 ElfW(Addr) entry; 188 ElfW(Addr) base; 195 ElfW(Dyn)* dynamic; 207 ElfW(Sym)* symtab_; 217 ElfW(Addr)** plt_got_; 221 ElfW(Rela)* plt_rela_; 224 ElfW(Rela)* rela_; [all …]
|
D | linker_mips.cpp | 63 ElfW(Word) type = ELFW(R_TYPE)(rel->r_info); in relocate() 64 ElfW(Word) sym = ELFW(R_SYM)(rel->r_info); in relocate() 66 ElfW(Addr) reloc = static_cast<ElfW(Addr)>(rel->r_offset + load_bias); in relocate() 67 ElfW(Addr) sym_addr = 0; in relocate() 75 const ElfW(Sym)* s = nullptr; in relocate() local 120 *reinterpret_cast<ElfW(Addr)*>(reloc) += sym_addr; in relocate() 122 *reinterpret_cast<ElfW(Addr)*>(reloc) += load_bias; in relocate() 136 ElfW(Addr)** got = plt_got_; in mips_relocate_got() 147 got[g++] = reinterpret_cast<ElfW(Addr)*>(0xdeadbeef); in mips_relocate_got() 149 got[g++] = reinterpret_cast<ElfW(Addr)*>(0xdeadfeed); in mips_relocate_got() [all …]
|
D | linker.cpp | 146 static ElfW(Addr) get_elf_exec_load_bias(const ElfW(Ehdr)* elf); 251 static const ElfW(Versym) kVersymNotNeeded = 0; 252 static const ElfW(Versym) kVersymGlobal = 1; 607 const ElfW(Versym)* soinfo::get_versym(size_t n) const { in ElfW() function 615 ElfW(Addr) soinfo::get_verneed_ptr() const { in ElfW() function 631 ElfW(Addr) soinfo::get_verdef_ptr() const { in ElfW() function 662 const ElfW(Verdef)* verdef = reinterpret_cast<ElfW(Verdef)*>(verdef_ptr + offset); in for_each_verdef() local 685 const ElfW(Verdaux)* verdaux = reinterpret_cast<ElfW(Verdaux)*>(verdef_ptr + verdaux_offset); in for_each_verdef() local 695 bool soinfo::find_verdef_version_index(const version_info* vi, ElfW(Versym)* versym) const { in find_verdef_version_index() 704 [&](size_t, const ElfW(Verdef)* verdef, const ElfW(Verdaux)* verdaux) { in find_verdef_version_index() [all …]
|
D | linker_reloc_iterators.h | 31 typedef ElfW(Rela) rel_t; 33 typedef ElfW(Rel) rel_t; 57 typedef ElfW(Rela) rel_t; 59 typedef ElfW(Rel) rel_t;
|
D | dlfcn.cpp | 215 static ElfW(Sym) g_libdl_symtab[] = {
|
/bionic/libc/include/ |
D | link.h | 37 #define ElfW(type) Elf64_ ## type macro 39 #define ElfW(type) Elf32_ ## type 43 ElfW(Addr) dlpi_addr; 45 const ElfW(Phdr)* dlpi_phdr; 46 ElfW(Half) dlpi_phnum; 58 ElfW(Addr) l_addr; 60 ElfW(Dyn)* l_ld; 69 ElfW(Addr) r_brk; 75 ElfW(Addr) r_ldbase;
|
/bionic/libc/bionic/ |
D | vdso.cpp | 58 ElfW(Ehdr)* vdso_ehdr = reinterpret_cast<ElfW(Ehdr)*>(vdso_ehdr_addr); in __libc_init_vdso() 65 ElfW(Shdr)* vdso_shdr = reinterpret_cast<ElfW(Shdr)*>(vdso_ehdr_addr + vdso_ehdr->e_shoff); in __libc_init_vdso() 68 symbol_count = vdso_shdr[i].sh_size / sizeof(ElfW(Sym)); in __libc_init_vdso() 76 ElfW(Addr) vdso_addr = 0; in __libc_init_vdso() 77 ElfW(Dyn)* vdso_dyn = nullptr; in __libc_init_vdso() 78 ElfW(Phdr)* vdso_phdr = reinterpret_cast<ElfW(Phdr)*>(vdso_ehdr_addr + vdso_ehdr->e_phoff); in __libc_init_vdso() 81 vdso_dyn = reinterpret_cast<ElfW(Dyn)*>(vdso_ehdr_addr + vdso_phdr[i].p_offset); in __libc_init_vdso() 92 ElfW(Sym)* symtab = nullptr; in __libc_init_vdso() 93 for (ElfW(Dyn)* d = vdso_dyn; d->d_tag != DT_NULL; ++d) { in __libc_init_vdso() 97 symtab = reinterpret_cast<ElfW(Sym)*>(vdso_addr + d->d_un.d_ptr); in __libc_init_vdso()
|
D | dl_iterate_phdr_static.cpp | 39 ElfW(Ehdr)* ehdr = reinterpret_cast<ElfW(Ehdr)*>(&__executable_start); in dl_iterate_phdr() 53 …exe_info.dlpi_phdr = reinterpret_cast<ElfW(Phdr)*>(reinterpret_cast<uintptr_t>(ehdr) + ehdr->e_pho… in dl_iterate_phdr() 64 ElfW(Ehdr)* ehdr_vdso = reinterpret_cast<ElfW(Ehdr)*>(getauxval(AT_SYSINFO_EHDR)); in dl_iterate_phdr() 73 …vdso_info.dlpi_phdr = reinterpret_cast<ElfW(Phdr)*>(reinterpret_cast<char*>(ehdr_vdso) + ehdr_vdso… in dl_iterate_phdr() 77 vdso_info.dlpi_addr = (ElfW(Addr)) ehdr_vdso - vdso_info.dlpi_phdr[i].p_vaddr; in dl_iterate_phdr()
|
D | libc_init_static.cpp | 56 ElfW(Phdr)* phdr_start = reinterpret_cast<ElfW(Phdr)*>(getauxval(AT_PHDR)); in apply_gnu_relro() 59 for (ElfW(Phdr)* phdr = phdr_start; phdr < (phdr_start + phdr_ct); phdr++) { in apply_gnu_relro() 64 ElfW(Addr) seg_page_start = PAGE_START(phdr->p_vaddr); in apply_gnu_relro() 65 ElfW(Addr) seg_page_end = PAGE_END(phdr->p_vaddr + phdr->p_memsz); in apply_gnu_relro()
|
D | getauxval.cpp | 36 __LIBC_HIDDEN__ ElfW(auxv_t)* __libc_auxv = NULL; 39 for (ElfW(auxv_t)* v = __libc_auxv; v->a_type != AT_NULL; ++v) { in getauxval()
|
D | libc_init_common.cpp | 304 for (ElfW(auxv_t)* v = __libc_auxv; v->a_type != AT_NULL; ++v) { in __libc_init_AT_SECURE()
|
/bionic/libc/malloc_debug/ |
D | MapData.cpp | 86 ElfW(Ehdr) ehdr; in read_loadbase() 87 if (!get_val<ElfW(Half)>(entry, addr + offsetof(ElfW(Ehdr), e_phnum), &ehdr.e_phnum)) { in read_loadbase() 90 if (!get_val<ElfW(Off)>(entry, addr + offsetof(ElfW(Ehdr), e_phoff), &ehdr.e_phoff)) { in read_loadbase() 95 ElfW(Phdr) phdr; in read_loadbase() 96 if (!get_val<ElfW(Word)>(entry, addr + offsetof(ElfW(Phdr), p_type), &phdr.p_type)) { in read_loadbase() 99 if (!get_val<ElfW(Off)>(entry, addr + offsetof(ElfW(Phdr), p_offset), &phdr.p_offset)) { in read_loadbase() 103 if (!get_val<ElfW(Addr)>(entry, addr + offsetof(ElfW(Phdr), p_vaddr), &phdr.p_vaddr)) { in read_loadbase()
|
/bionic/libc/private/ |
D | KernelArgumentBlock.h | 49 auxv = reinterpret_cast<ElfW(auxv_t)*>(p); in KernelArgumentBlock() 55 for (ElfW(auxv_t)* v = auxv; v->a_type != AT_NULL; ++v) { in getauxval() 66 ElfW(auxv_t)* auxv;
|
D | bionic_auxv.h | 37 extern ElfW(auxv_t)* __libc_auxv;
|