Home
last modified time | relevance | path

Searched refs:phdr_info (Results 1 – 9 of 9) sorted by relevance

/freebsd-14-stable/lib/libc/gen/
HDdlfcn.c169 static struct dl_phdr_info phdr_info; variable
183 phdr_info.dlpi_addr = (Elf_Addr)auxp->a_un.a_ptr; in dl_init_phdr_info()
186 phdr_info.dlpi_name = (const char *)auxp->a_un.a_ptr; in dl_init_phdr_info()
189 phdr_info.dlpi_phdr = in dl_init_phdr_info()
193 phdr_info.dlpi_phnum = (Elf_Half)auxp->a_un.a_val; in dl_init_phdr_info()
197 for (i = 0; i < phdr_info.dlpi_phnum; i++) { in dl_init_phdr_info()
198 if (phdr_info.dlpi_phdr[i].p_type == PT_TLS) { in dl_init_phdr_info()
199 phdr_info.dlpi_tls_modid = 1; in dl_init_phdr_info()
202 phdr_info.dlpi_adds = 1; in dl_init_phdr_info()
233 phdr_info.dlpi_tls_data = __tls_get_addr(&ti); in _dl_iterate_phdr_locked()
[all …]
HDelf_utils.c44 __elf_phdr_match_addr(struct dl_phdr_info *phdr_info, void *addr) in __elf_phdr_match_addr() argument
49 for (i = 0; i < phdr_info->dlpi_phnum; i++) { in __elf_phdr_match_addr()
50 ph = &phdr_info->dlpi_phdr[i]; in __elf_phdr_match_addr()
66 if (phdr_info->dlpi_addr + ph->p_vaddr <= (uintptr_t)addr && in __elf_phdr_match_addr()
67 (uintptr_t)addr < phdr_info->dlpi_addr + in __elf_phdr_match_addr()
71 return (i != phdr_info->dlpi_phnum); in __elf_phdr_match_addr()
/freebsd-14-stable/lib/libthr/thread/
HDthr_fork.c109 __pthread_cxa_finalize(struct dl_phdr_info *phdr_info) in __pthread_cxa_finalize() argument
121 if (__elf_phdr_match_addr(phdr_info, af->prepare) || in __pthread_cxa_finalize()
122 __elf_phdr_match_addr(phdr_info, af->parent) || in __pthread_cxa_finalize()
123 __elf_phdr_match_addr(phdr_info, af->child)) { in __pthread_cxa_finalize()
134 _thr_tsd_unload(phdr_info); in __pthread_cxa_finalize()
135 _thr_sigact_unload(phdr_info); in __pthread_cxa_finalize()
HDthr_spec.c226 _thr_tsd_unload(struct dl_phdr_info *phdr_info) in _thr_tsd_unload() argument
240 if (__elf_phdr_match_addr(phdr_info, destructor)) in _thr_tsd_unload()
HDthr_private.h978 void __pthread_cxa_finalize(struct dl_phdr_info *phdr_info);
979 void _thr_tsd_unload(struct dl_phdr_info *phdr_info) __hidden;
980 void _thr_sigact_unload(struct dl_phdr_info *phdr_info) __hidden;
HDthr_sig.c498 _thr_sigact_unload(struct dl_phdr_info *phdr_info __unused) in _thr_sigact_unload()
516 __elf_phdr_match_addr(phdr_info, handler)) { in _thr_sigact_unload()
/freebsd-14-stable/lib/libc/stdlib/
HDcxa_thread_atexit_impl.c103 struct dl_phdr_info phdr_info; in walk_cb_call() local
105 if (_rtld_addr_phdr(dtor->func, &phdr_info) && in walk_cb_call()
106 __elf_phdr_match_addr(&phdr_info, dtor->func)) in walk_cb_call()
HDatexit.c207 struct dl_phdr_info phdr_info; in __cxa_finalize() local
213 has_phdr = _rtld_addr_phdr(dso, &phdr_info); in __cxa_finalize()
231 !__elf_phdr_match_addr(&phdr_info, in __cxa_finalize()
257 __pthread_cxa_finalize(&phdr_info); in __cxa_finalize()
/freebsd-14-stable/libexec/rtld-elf/
HDrtld.c189 struct dl_phdr_info *phdr_info);
4068 _rtld_addr_phdr(const void *addr, struct dl_phdr_info *phdr_info) in _rtld_addr_phdr() argument
4080 rtld_fill_dl_phdr_info(obj, phdr_info); in _rtld_addr_phdr()
4189 rtld_fill_dl_phdr_info(const Obj_Entry *obj, struct dl_phdr_info *phdr_info) in rtld_fill_dl_phdr_info() argument
4193 phdr_info->dlpi_addr = (Elf_Addr)obj->relocbase; in rtld_fill_dl_phdr_info()
4194 phdr_info->dlpi_name = obj->path; in rtld_fill_dl_phdr_info()
4195 phdr_info->dlpi_phdr = obj->phdr; in rtld_fill_dl_phdr_info()
4196 phdr_info->dlpi_phnum = obj->phsize / sizeof(obj->phdr[0]); in rtld_fill_dl_phdr_info()
4197 phdr_info->dlpi_tls_modid = obj->tlsindex; in rtld_fill_dl_phdr_info()
4199 phdr_info->dlpi_tls_data = (char *)tls_get_addr_slow(dtvp, in rtld_fill_dl_phdr_info()
[all …]