Changeset View
Changeset View
Standalone View
Standalone View
libexec/rtld-elf/map_object.c
Show First 20 Lines • Show All 306 Lines • ▼ Show 20 Lines | obj->phdr_alloc = true; | ||||
obj->phsize = phsize; | obj->phsize = phsize; | ||||
if (phinterp != NULL) | if (phinterp != NULL) | ||||
obj->interp = (const char *)(obj->relocbase + phinterp->p_vaddr); | obj->interp = (const char *)(obj->relocbase + phinterp->p_vaddr); | ||||
if (phtls != NULL) { | if (phtls != NULL) { | ||||
tls_dtv_generation++; | tls_dtv_generation++; | ||||
obj->tlsindex = ++tls_max_index; | obj->tlsindex = ++tls_max_index; | ||||
obj->tlssize = phtls->p_memsz; | obj->tlssize = phtls->p_memsz; | ||||
obj->tlsalign = phtls->p_align; | obj->tlsalign = phtls->p_align; | ||||
obj->tlspoffset = phtls->p_offset; | |||||
obj->tlsinitsize = phtls->p_filesz; | obj->tlsinitsize = phtls->p_filesz; | ||||
obj->tlsinit = mapbase + phtls->p_vaddr; | obj->tlsinit = mapbase + phtls->p_vaddr; | ||||
} | } | ||||
obj->stack_flags = stack_flags; | obj->stack_flags = stack_flags; | ||||
obj->relro_page = obj->relocbase + trunc_page(relro_page); | obj->relro_page = obj->relocbase + trunc_page(relro_page); | ||||
obj->relro_size = round_page(relro_size); | obj->relro_size = round_page(relro_size); | ||||
if (note_start < note_end) | if (note_start < note_end) | ||||
digest_notes(obj, note_start, note_end); | digest_notes(obj, note_start, note_end); | ||||
▲ Show 20 Lines • Show All 162 Lines • Show Last 20 Lines |