Home
last modified time | relevance | path

Searched refs:ElfW (Results 1 – 25 of 34) sorted by relevance

12

/aosp12/bionic/linker/
H A Dlinker_phdr.h51 ElfW(Addr) load_start() const { return reinterpret_cast<ElfW(Addr)>(load_start_); } in load_start()
53 ElfW(Addr) gap_start() const { return reinterpret_cast<ElfW(Addr)>(gap_start_); } in gap_start()
72 bool CheckPhdr(ElfW(Addr));
82 ElfW(Ehdr) header_;
86 const ElfW(Phdr)* phdr_table_;
89 const ElfW(Shdr)* shdr_table_;
93 const ElfW(Dyn)* dynamic_;
108 ElfW(Addr) load_bias_;
111 const ElfW(Phdr)* loaded_phdr_;
121 ElfW(Addr)* min_vaddr = nullptr, ElfW(Addr)* max_vaddr = nullptr);
[all …]
H A Dlinker_phdr.cpp497 ElfW(Addr) min_vaddr = UINTPTR_MAX; in phdr_table_get_load_size()
498 ElfW(Addr) max_vaddr = 0; in phdr_table_get_load_size()
641 ElfW(Addr) min_vaddr; in ReserveAddressSpace()
795 const ElfW(Phdr)* phdr = phdr_table; in _phdr_table_set_load_prot() local
880 const ElfW(Phdr)* phdr = phdr_table; in _phdr_table_set_gnu_relro_prot() local
956 const ElfW(Phdr)* phdr = phdr_table; in phdr_table_serialize_gnu_relro() local
1019 const ElfW(Phdr)* phdr = phdr_table; in phdr_table_map_gnu_relro() local
1099 const ElfW(Phdr)* phdr = phdr_table; in phdr_table_get_arm_exidx() local
1131 ElfW(Addr) load_bias, ElfW(Dyn)** dynamic, in phdr_table_get_dynamic_section()
1186 const ElfW(Ehdr)* ehdr = reinterpret_cast<const ElfW(Ehdr)*>(elf_addr); in FindPhdr() local
[all …]
H A Dlinker_soinfo.h71 ElfW(Addr) call_ifunc_resolver(ElfW(Addr) resolver_addr);
168 ElfW(Addr) base;
175 ElfW(Dyn)* dynamic;
187 ElfW(Sym)* symtab_;
199 ElfW(Rela)* plt_rela_;
202 ElfW(Rela)* rela_;
205 ElfW(Rel)* plt_rel_;
208 ElfW(Rel)* rel_;
238 ElfW(Addr) load_bias;
278 ElfW(Addr) resolve_symbol_address(const ElfW(Sym)* s) const { in resolve_symbol_address()
[all …]
H A Dlinker_main.cpp63 static ElfW(Addr) get_elf_exec_load_bias(const ElfW(Ehdr)* elf);
66 ElfW(Addr)* base, ElfW(Addr)* load_bias);
161 ElfW(Ehdr)* ehdr_vdso = reinterpret_cast<ElfW(Ehdr)*>(getauxval(AT_SYSINFO_EHDR)); in add_vdso()
199 const ElfW(Phdr)* phdr;
201 ElfW(Addr) entry_point;
427 ElfW(Ehdr)* elf_hdr = reinterpret_cast<ElfW(Ehdr)*>(si->base); in linker_main()
543 static ElfW(Addr) get_elf_exec_load_bias(const ElfW(Ehdr)* elf) { in get_elf_exec_load_bias()
563 ElfW(Addr)* base, ElfW(Addr)* load_bias) { in get_elf_base_from_phdr()
608 ElfW(Addr)* offset = reinterpret_cast<ElfW(Addr)*>(r->r_offset + load_bias); in call_ifunc_resolvers()
618 ElfW(Addr)* offset = reinterpret_cast<ElfW(Addr)*>(r->r_offset + load_bias); in call_ifunc_resolvers()
[all …]
H A Dlinker_note_gnu_property_test.cpp108 bool push(ElfW(Word) pr_type, ElfW(Word) pr_datasz, const T* pr_data) { in push()
115 ElfW(Prop)* prop = reinterpret_cast<ElfW(Prop)*>(&section[offset()]); in push()
119 step(2 * sizeof(ElfW(Word))); in push()
175 ElfW(NhdrGNUProperty)* note;
198 ElfW(Phdr) phdrs[] = { in TEST()
211 ElfW(Phdr) phdrs[] = { in TEST()
229 ElfW(NhdrGNUProperty) prop = { in TEST()
233 ElfW(Phdr) phdrs[] = { in TEST()
249 ElfW(NhdrGNUProperty) prop = { in TEST()
353 ElfW(Word) pr_data[] = {static_cast<ElfW(Word)>(~GNU_PROPERTY_AARCH64_FEATURE_1_BTI)}; in TEST()
[all …]
H A Dlinker_note_gnu_property.cpp42 GnuPropertySection::GnuPropertySection(const ElfW(Phdr)* phdr, size_t phdr_count, in GnuPropertySection()
43 const ElfW(Addr) load_bias, const char* name) { in GnuPropertySection()
53 const ElfW(NhdrGNUProperty)* GnuPropertySection::FindSegment(const ElfW(Phdr)* phdr, in ElfW() function
68 if (phdr[i].p_memsz < sizeof(ElfW(NhdrGNUProperty))) { in ElfW()
97 bool GnuPropertySection::SanityCheck(const ElfW(NhdrGNUProperty)* note_nhdr, in SanityCheck()
123 ElfW(Word) offset = 0; in Parse()
129 if ((note_nhdr->nhdr.n_descsz - offset) < sizeof(ElfW(Prop))) { in Parse()
138 const ElfW(Prop)* property = reinterpret_cast<const ElfW(Prop)*>(&note_nhdr->n_desc[offset]); in Parse() local
139 const ElfW(Word) property_size = in Parse() local
140 align_up(sizeof(ElfW(Prop)) + property->pr_datasz, sizeof(ElfW(Addr))); in Parse()
[all …]
H A Dlinker_wrapper.cpp42 static void get_elf_base_from_phdr(const ElfW(Phdr)* phdr_table, size_t phdr_count, in get_elf_base_from_phdr()
43 ElfW(Addr)* base, ElfW(Addr)* load_bias) { in get_elf_base_from_phdr()
46 *load_bias = reinterpret_cast<ElfW(Addr)>(phdr_table) - phdr_table[i].p_vaddr; in get_elf_base_from_phdr()
47 *base = reinterpret_cast<ElfW(Addr)>(phdr_table) - phdr_table[i].p_offset; in get_elf_base_from_phdr()
57 extern "C" ElfW(Addr) __linker_init(void* raw_args) { in __linker_init()
60 ElfW(Addr) base_addr = 0; in __linker_init()
61 ElfW(Addr) load_bias = 0; in __linker_init()
63 reinterpret_cast<ElfW(Phdr)*>(args.getauxval(AT_PHDR)), args.getauxval(AT_PHNUM), in __linker_init()
66 ElfW(Addr) linker_addr = base_addr + reinterpret_cast<uintptr_t>(&linker_offset); in __linker_init()
67 ElfW(Addr) linker_entry_offset = reinterpret_cast<ElfW(Ehdr)*>(linker_addr)->e_entry; in __linker_init()
[all …]
H A Dlinker_relocate.cpp47 static bool is_tls_reloc(ElfW(Word) type) { in is_tls_reloc()
68 ElfW(Sym)* si_symtab = nullptr;
74 ElfW(Word) cache_sym_val = 0;
76 const ElfW(Sym)* cache_sym = nullptr;
84 const char* get_string(ElfW(Word) index) { in get_string()
168 const ElfW(Sym)* sym = nullptr; in process_relocation_impl() local
170 ElfW(Addr) sym_addr = 0; in process_relocation_impl()
228 auto get_addend_rel = [&]() -> ElfW(Addr) { return *static_cast<ElfW(Addr)*>(rel_target); }; in process_relocation_impl()
377 ElfW(Addr) tpoff = 0; in process_relocation_impl()
483 const ElfW(Addr) base = reinterpret_cast<ElfW(Addr)>(rel_target); in process_relocation_impl() local
[all …]
H A Dlinker_soinfo.cpp170 ElfW(Versym) verneed = kVersymNotNeeded; in ElfW()
174 const ElfW(Sym)* sym = nullptr; in ElfW() local
283 ElfW(Addr) soinfo::get_verdef_ptr() const { in ElfW() function
364 ElfW(Sym)* s = symtab_ + n; in ElfW()
393 ElfW(Sym)* s = symtab_ + n; in ElfW()
417 static bool symbol_matches_soaddr(const ElfW(Sym)* sym, ElfW(Addr) soaddr) { in symbol_matches_soaddr()
428 ElfW(Addr) soaddr = reinterpret_cast<ElfW(Addr)>(addr) - load_bias; in ElfW()
438 ElfW(Sym)* sym = symtab_ + n; in ElfW()
449 ElfW(Addr) soaddr = reinterpret_cast<ElfW(Addr)>(addr) - load_bias; in ElfW()
454 ElfW(Sym)* sym = symtab_ + i; in ElfW()
[all …]
H A Dlinker_note_gnu_property.h79 GnuPropertySection(const ElfW(Phdr)* phdr, size_t phdr_count, const ElfW(Addr) load_bias,
87 const ElfW(NhdrGNUProperty)* FindSegment(const ElfW(Phdr)* phdr, size_t phdr_count,
88 const ElfW(Addr) load_bias, const char* name) const;
89 bool SanityCheck(const ElfW(NhdrGNUProperty)* note_nhdr, const char* name) const;
90 bool Parse(const ElfW(NhdrGNUProperty)* note_nhdr, const char* name);
H A Dlinker.cpp756 const ElfW(Sym)* s = nullptr; in ElfW() local
821 ElfW(Addr) address = reinterpret_cast<ElfW(Addr)>(untag_address(p)); in find_containing_library()
2518 ElfW(Addr) call_ifunc_resolver(ElfW(Addr) resolver_addr) { in call_ifunc_resolver()
2561 const ElfW(Verneed)* verneed = reinterpret_cast<ElfW(Verneed)*>(verneed_ptr + offset); in init_verneed() local
2611 const ElfW(Verdef)* verdef = reinterpret_cast<ElfW(Verdef)*>(verdef_ptr + offset); in for_each_verdef() local
2652 [&](size_t, const ElfW(Verdef)* verdef, const ElfW(Verdaux)* verdaux) { in find_verdef_version_index()
2673 [&](size_t, const ElfW(Verdef)*, const ElfW(Verdaux)*) { in validate_verdef_section()
2680 [&](size_t, const ElfW(Verdef)* verdef, const ElfW(Verdaux)* verdaux) { in init_verdef()
2730 ElfW(Relr)* begin = relr_; in relocate_relr()
2734 ElfW(Addr) base = 0; in relocate_relr()
[all …]
H A Dlinker.h62 const version_info* get_version_info(ElfW(Versym) source_symver) const;
66 void add_version_info(size_t source_index, ElfW(Word) elf_hash,
184 ElfW(Versym) find_verdef_version_index(const soinfo* si, const version_info* vi);
H A Dlinker_relocate.h42 static constexpr ElfW(Versym) kVersymHiddenBit = 0x8000;
60 inline bool is_symbol_global_and_defined(const soinfo* si, const ElfW(Sym)* s) { in is_symbol_global_and_defined()
/aosp12/bionic/libc/bionic/
H A Dlibc_init_static.cpp91 ElfW(Addr)* offset = reinterpret_cast<ElfW(Addr)*>(r->r_offset); in call_ifunc_resolvers()
92 ElfW(Addr) resolver = r->r_addend; in call_ifunc_resolvers()
112 ElfW(Addr)* offset = reinterpret_cast<ElfW(Addr)*>(r->r_offset); in call_ifunc_resolvers()
113 ElfW(Addr) resolver = *offset; in call_ifunc_resolvers()
120 ElfW(Phdr)* phdr_start = reinterpret_cast<ElfW(Phdr)*>(getauxval(AT_PHDR)); in apply_gnu_relro()
141 ElfW(Phdr)* phdr_start = reinterpret_cast<ElfW(Phdr)*>(getauxval(AT_PHDR)); in layout_static_tls()
209 const ElfW(Phdr)* phdr = &phdr_start[i]; in __get_memtag_note() local
213 ElfW(Addr) p = load_bias + phdr->p_vaddr; in __get_memtag_note()
215 while (p + sizeof(ElfW(Nhdr)) <= note_end) { in __get_memtag_note()
216 const ElfW(Nhdr)* note = reinterpret_cast<const ElfW(Nhdr)*>(p); in __get_memtag_note() local
[all …]
H A Dvdso.cpp85 ElfW(Ehdr)* vdso_ehdr = reinterpret_cast<ElfW(Ehdr)*>(vdso_ehdr_addr); in __libc_init_vdso()
92 ElfW(Shdr)* vdso_shdr = reinterpret_cast<ElfW(Shdr)*>(vdso_ehdr_addr + vdso_ehdr->e_shoff); in __libc_init_vdso()
95 symbol_count = vdso_shdr[i].sh_size / sizeof(ElfW(Sym)); in __libc_init_vdso()
103 ElfW(Addr) vdso_addr = 0; in __libc_init_vdso()
104 ElfW(Dyn)* vdso_dyn = nullptr; in __libc_init_vdso()
105 ElfW(Phdr)* vdso_phdr = reinterpret_cast<ElfW(Phdr)*>(vdso_ehdr_addr + vdso_ehdr->e_phoff); in __libc_init_vdso()
108 vdso_dyn = reinterpret_cast<ElfW(Dyn)*>(vdso_ehdr_addr + vdso_phdr[i].p_offset); in __libc_init_vdso()
119 ElfW(Sym)* symtab = nullptr; in __libc_init_vdso()
120 for (ElfW(Dyn)* d = vdso_dyn; d->d_tag != DT_NULL; ++d) { in __libc_init_vdso()
124 symtab = reinterpret_cast<ElfW(Sym)*>(vdso_addr + d->d_un.d_ptr); in __libc_init_vdso()
H A Ddl_iterate_phdr_static.cpp43 ElfW(Ehdr)* ehdr = reinterpret_cast<ElfW(Ehdr)*>(&__executable_start); in dl_iterate_phdr()
57 …exe_info.dlpi_phdr = reinterpret_cast<ElfW(Phdr)*>(reinterpret_cast<uintptr_t>(ehdr) + ehdr->e_pho… in dl_iterate_phdr()
82 ElfW(Ehdr)* ehdr_vdso = reinterpret_cast<ElfW(Ehdr)*>(getauxval(AT_SYSINFO_EHDR)); in dl_iterate_phdr()
91 …vdso_info.dlpi_phdr = reinterpret_cast<ElfW(Phdr)*>(reinterpret_cast<char*>(ehdr_vdso) + ehdr_vdso… in dl_iterate_phdr()
99 vdso_info.dlpi_addr = (ElfW(Addr)) ehdr_vdso - vdso_info.dlpi_phdr[i].p_vaddr; in dl_iterate_phdr()
H A Dlibc_init_dynamic.cpp68 extern "C" __attribute__((weak)) void __hwasan_library_loaded(ElfW(Addr) base,
69 const ElfW(Phdr)* phdr,
70 ElfW(Half) phnum);
71 extern "C" __attribute__((weak)) void __hwasan_library_unloaded(ElfW(Addr) base,
72 const ElfW(Phdr)* phdr,
73 ElfW(Half) phnum);
H A Dbionic_call_ifunc_resolver.cpp39 ElfW(Addr) __bionic_call_ifunc_resolver(ElfW(Addr) resolver_addr) { in __bionic_call_ifunc_resolver()
41 typedef ElfW(Addr) (*ifunc_resolver_t)(uint64_t, __ifunc_arg_t*); in __bionic_call_ifunc_resolver()
52 typedef ElfW(Addr) (*ifunc_resolver_t)(unsigned long); in __bionic_call_ifunc_resolver()
61 typedef ElfW(Addr) (*ifunc_resolver_t)(void); in __bionic_call_ifunc_resolver()
/aosp12/bionic/libc/include/
H A Dlink.h40 #define ElfW(type) Elf64_ ## type macro
42 #define ElfW(type) Elf32_ ## type
46 ElfW(Addr) dlpi_addr;
48 const ElfW(Phdr)* dlpi_phdr;
49 ElfW(Half) dlpi_phnum;
71 ElfW(Addr) l_addr;
73 ElfW(Dyn)* l_ld;
82 ElfW(Addr) r_brk;
88 ElfW(Addr) r_ldbase;
/aosp12/bionic/tests/
H A Dlink_test.cpp64 for (ElfW(Half) i = 0; i < info->dlpi_phnum; ++i) { in TEST()
65 const ElfW(Phdr)* phdr = reinterpret_cast<const ElfW(Phdr)*>(&info->dlpi_phdr[i]); in TEST() local
67 const ElfW(Ehdr)* ehdr = reinterpret_cast<const ElfW(Ehdr)*>(info->dlpi_addr + in TEST() local
131 const ElfW(Phdr)* table;
136 static ElfW(Addr) find_exe_load_bias(const ProgHdr& phdr) { in find_exe_load_bias()
146 static ElfW(Dyn)* find_dynamic(const ProgHdr& phdr, ElfW(Addr) load_bias) { in ElfW() function
156 static r_debug* find_exe_r_debug(ElfW(Dyn)* dynamic) { in find_exe_r_debug()
157 for (ElfW(Dyn)* d = dynamic; d->d_tag != DT_NULL; ++d) { in find_exe_r_debug()
173 .table = reinterpret_cast<ElfW(Phdr)*>(getauxval(AT_PHDR)), in TEST()
177 ElfW(Addr) exe_load_bias = find_exe_load_bias(exe_phdr); in TEST()
[all …]
/aosp12/bionic/libc/malloc_debug/
H A DMapData.cpp106 ElfW(Ehdr) ehdr; in read_loadbias()
107 if (!get_val<ElfW(Half)>(entry, addr + offsetof(ElfW(Ehdr), e_phnum), &ehdr.e_phnum)) { in read_loadbias()
110 if (!get_val<ElfW(Off)>(entry, addr + offsetof(ElfW(Ehdr), e_phoff), &ehdr.e_phoff)) { in read_loadbias()
115 ElfW(Phdr) phdr; in read_loadbias()
116 if (!get_val<ElfW(Word)>(entry, addr + offsetof(ElfW(Phdr), p_type), &phdr.p_type)) { in read_loadbias()
119 if (!get_val<ElfW(Word)>(entry, addr + offsetof(ElfW(Phdr), p_flags), &phdr.p_flags)) { in read_loadbias()
122 if (!get_val<ElfW(Off)>(entry, addr + offsetof(ElfW(Phdr), p_offset), &phdr.p_offset)) { in read_loadbias()
126 if (!get_val<ElfW(Addr)>(entry, addr + offsetof(ElfW(Phdr), p_vaddr), &phdr.p_vaddr)) { in read_loadbias()
/aosp12/system/chre/platform/shared/include/chre/platform/shared/
H A Dnanoapp_loader.h106 using DynamicHeader = ElfW(Dyn);
107 using ElfAddr = ElfW(Addr);
108 using ElfHeader = ElfW(Ehdr);
109 using ElfRel = ElfW(Rel); // Relocation table entry,
111 using ElfRela = ElfW(Rela);
112 using ElfSym = ElfW(Sym);
113 using ElfWord = ElfW(Word);
114 using ProgramHeader = ElfW(Phdr);
115 using SectionHeader = ElfW(Shdr);
/aosp12/bionic/libc/private/
H A Dbionic_globals.h89 ElfW(auxv_t)* auxv = nullptr;
99 void (*load_hook)(ElfW(Addr) base, const ElfW(Phdr)* phdr, ElfW(Half) phnum) = nullptr;
100 void (*unload_hook)(ElfW(Addr) base, const ElfW(Phdr)* phdr, ElfW(Half) phnum) = nullptr;
H A DKernelArgumentBlock.h46 auxv = reinterpret_cast<ElfW(auxv_t)*>(p); in KernelArgumentBlock()
52 for (ElfW(auxv_t)* v = auxv; v->a_type != AT_NULL; ++v) { in getauxval()
63 ElfW(auxv_t)* auxv;
H A Dbionic_call_ifunc_resolver.h34 __LIBC_HIDDEN__ ElfW(Addr) __bionic_call_ifunc_resolver(ElfW(Addr) resolver_addr);

12