/bionic/linker/ |
D | linker_phdr.h | 55 ElfW(Addr) load_bias() const { return load_bias_; } in load_bias() function 131 ElfW(Addr) load_bias, bool should_pad_segments, 135 ElfW(Addr) load_bias, bool should_pad_segments); 138 ElfW(Addr) load_bias, bool should_pad_segments); 141 ElfW(Addr) load_bias, int fd, size_t* file_offset); 144 ElfW(Addr) load_bias, int fd, size_t* file_offset); 147 int phdr_table_get_arm_exidx(const ElfW(Phdr)* phdr_table, size_t phdr_count, ElfW(Addr) load_bias, 152 ElfW(Addr) load_bias, ElfW(Dyn)** dynamic, 156 ElfW(Addr) load_bias);
|
D | linker_wrapper.cpp | 45 ElfW(Addr)* base, ElfW(Addr)* load_bias) { in get_elf_base_from_phdr() argument 48 *load_bias = reinterpret_cast<ElfW(Addr)>(phdr_table) - phdr_table[i].p_vaddr; in get_elf_base_from_phdr() 63 ElfW(Addr) load_bias = 0; in __linker_init() 66 &base_addr, &load_bias); in __linker_init()
|
D | linker_note_gnu_property.cpp | 40 : GnuPropertySection(si->phdr, si->phnum, si->load_bias, si->get_realpath()) {} in GnuPropertySection() 43 const ElfW(Addr) load_bias, const char* name) { in GnuPropertySection() 45 auto note_gnu_property = FindSegment(phdr, phdr_count, load_bias, name); in GnuPropertySection() 55 const ElfW(Addr) load_bias, in ElfW() 78 auto note_nhdr = reinterpret_cast<ElfW(NhdrGNUProperty)*>(load_bias + phdr[i].p_vaddr); in ElfW()
|
D | linker_phdr.cpp | 972 ElfW(Addr) load_bias, int extra_prot_flags, in _phdr_table_set_load_prot() 985 ElfW(Addr) seg_page_start = page_start(phdr->p_vaddr + load_bias); in _phdr_table_set_load_prot() 986 ElfW(Addr) seg_page_end = page_end(phdr->p_vaddr + p_memsz + load_bias); in _phdr_table_set_load_prot() 1027 ElfW(Addr) load_bias, bool should_pad_segments, in phdr_table_protect_segments() 1035 return _phdr_table_set_load_prot(phdr_table, phdr_count, load_bias, prot, should_pad_segments); in phdr_table_protect_segments() 1056 size_t phdr_count, ElfW(Addr) load_bias, in phdr_table_unprotect_segments() 1058 return _phdr_table_set_load_prot(phdr_table, phdr_count, load_bias, PROT_WRITE, in phdr_table_unprotect_segments() 1064 ElfW(Addr) load_bias, ElfW(Addr)* seg_page_end, in _extend_gnu_relro_prot_end() 1115 *seg_page_end = page_end(phdr->p_vaddr + p_memsz + load_bias); in _extend_gnu_relro_prot_end() 1125 ElfW(Addr) load_bias, int prot_flags, in _phdr_table_set_gnu_relro_prot() [all …]
|
D | linker_main.cpp | 69 ElfW(Addr)* base, ElfW(Addr)* load_bias); 74 size_t phdr_count, uintptr_t load_bias, void* stack_top); 176 si->load_bias = get_elf_exec_load_bias(ehdr_vdso); in add_vdso() 193 map.l_addr = info.load_bias; in init_link_map_head() 195 phdr_table_get_dynamic_section(info.phdr, info.phnum, info.load_bias, &map.l_ld, nullptr); in init_link_map_head() 370 get_elf_base_from_phdr(si->phdr, si->phnum, &si->base, &si->load_bias); in linker_main() 387 somain->load_bias); in linker_main() 402 (phdr_table_protect_segments(somain->phdr, somain->phnum, somain->load_bias, in linker_main() 497 __libc_init_mte(somain->memtag_dynamic_entries(), somain->phdr, somain->phnum, somain->load_bias, in linker_main() 563 ElfW(Addr)* base, ElfW(Addr)* load_bias) { in get_elf_base_from_phdr() argument [all …]
|
D | linker_note_gnu_property.h | 79 GnuPropertySection(const ElfW(Phdr)* phdr, size_t phdr_count, const ElfW(Addr) load_bias, 88 const ElfW(Addr) load_bias, const char* name) const;
|
D | linker.cpp | 281 map->l_addr = info->load_bias; in notify_gdb_of_load() 637 si_->load_bias = elf_reader.load_bias(); in load() 861 ElfW(Addr) vaddr = address - si->load_bias; in find_containing_library() 1806 __libc_shared_globals()->load_hook(si->load_bias, si->phdr, si->phnum); in find_libraries() 1948 __libc_shared_globals()->unload_hook(si->load_bias, si->phdr, si->phnum); in soinfo_unload_impl() 2791 static void apply_relr_reloc(ElfW(Addr) offset, ElfW(Addr) load_bias) { in apply_relr_reloc() argument 2792 ElfW(Addr) address = offset + load_bias; in apply_relr_reloc() 2793 *reinterpret_cast<ElfW(Addr)*>(address) += load_bias; in apply_relr_reloc() 2799 bool relocate_relr(const ElfW(Relr)* begin, const ElfW(Relr)* end, ElfW(Addr) load_bias) { in relocate_relr() argument 2810 apply_relr_reloc(offset, load_bias); in relocate_relr() [all …]
|
D | linker_relocate.cpp | 165 void* const rel_target = reinterpret_cast<void*>(reloc.r_offset + relocator.si->load_bias); in process_relocation_impl() 190 relocator.si->load_bias, in process_relocation_impl() 201 relocator.si->load_bias, in process_relocation_impl() 349 const ElfW(Addr) result = relocator.si->load_bias + get_addend_rel(); in process_relocation_impl() 371 const ElfW(Addr) ifunc_addr = relocator.si->load_bias + get_addend_rel(); in process_relocation_impl() 618 if (!relocate_relr(begin, end, load_bias)) { in relocate()
|
D | linker_soinfo.h | 240 ElfW(Addr) load_bias; 282 return call_ifunc_resolver(s->st_value + load_bias); in resolve_symbol_address() 285 return static_cast<ElfW(Addr)>(s->st_value + load_bias); in resolve_symbol_address()
|
D | linker.h | 182 bool relocate_relr(const ElfW(Relr)* begin, const ElfW(Relr)* end, ElfW(Addr) load_bias);
|
D | dlfcn.cpp | 324 __libdl_info->load_bias = linker_si.load_bias; in get_libdl_info()
|
D | linker_soinfo.cpp | 425 ElfW(Addr) soaddr = reinterpret_cast<ElfW(Addr)>(addr) - load_bias; in ElfW() 446 ElfW(Addr) soaddr = reinterpret_cast<ElfW(Addr)>(addr) - load_bias; in ElfW()
|
/bionic/libc/bionic/ |
D | elf_note.cpp | 72 const ElfW(Addr) load_bias) { in __find_elf_note() 76 ElfW(Addr) note_addr = load_bias + phdr->p_vaddr; in __find_elf_note()
|
D | libc_init_static.cpp | 162 const ElfW(Addr) load_bias, bool* stack) { in __get_memtag_level_from_note() 166 load_bias)) { in __get_memtag_level_from_note() 259 uintptr_t load_bias, bool* stack) { in __get_tagging_level() argument 287 load_bias, stack); in __get_tagging_level() 328 uintptr_t load_bias, void* stack_top) { in __libc_init_mte() argument 331 __get_tagging_level(memtag_dynamic_entries, phdr_start, phdr_ct, load_bias, &memtag_stack); in __libc_init_mte()
|
D | bionic_elf_tls.cpp | 59 ElfW(Addr) load_bias, TlsSegment* out) { in __bionic_get_tls_segment() 73 .init_ptr = reinterpret_cast<void*>(load_bias + phdr.p_vaddr), in __bionic_get_tls_segment()
|
/bionic/libc/private/ |
D | elf_note.h | 42 const ElfW(Addr) load_bias);
|
D | bionic_elf_tls.h | 68 ElfW(Addr) load_bias, TlsSegment* out);
|
/bionic/tests/ |
D | link_test.cpp | 146 static ElfW(Dyn)* find_dynamic(const ProgHdr& phdr, ElfW(Addr) load_bias) { in ElfW() 149 return reinterpret_cast<ElfW(Dyn)*>(phdr.table[i].p_vaddr + load_bias); in ElfW()
|