Lines Matching refs:phdr
58 Elf_Phdr *phdr; in map_object() local
106 phdr = (Elf_Phdr *) ((char *)hdr + hdr->e_phoff); in map_object()
107 phsize = hdr->e_phnum * sizeof (phdr[0]); in map_object()
108 phlimit = phdr + hdr->e_phnum; in map_object()
118 while (phdr < phlimit) { in map_object()
119 switch (phdr->p_type) { in map_object()
122 phinterp = phdr; in map_object()
126 segs[++nsegs] = phdr; in map_object()
135 phdr_vaddr = phdr->p_vaddr; in map_object()
136 phsize = phdr->p_memsz; in map_object()
140 phdyn = phdr; in map_object()
144 phtls = phdr; in map_object()
148 stack_flags = phdr->p_flags; in map_object()
152 relro_page = phdr->p_vaddr; in map_object()
153 relro_size = phdr->p_memsz; in map_object()
157 if (phdr->p_offset > PAGE_SIZE || in map_object()
158 phdr->p_offset + phdr->p_filesz > PAGE_SIZE) in map_object()
160 note_start = (Elf_Addr)(char *)hdr + phdr->p_offset; in map_object()
161 note_end = note_start + phdr->p_filesz; in map_object()
165 ++phdr; in map_object()
296 obj->phdr = (const Elf_Phdr *) (obj->relocbase + phdr_vaddr); in map_object()
298 obj->phdr = malloc(phsize); in map_object()
299 if (obj->phdr == NULL) { in map_object()
304 memcpy((char *)obj->phdr, (char *)hdr + hdr->e_phoff, phsize); in map_object()
431 free((void *)obj->phdr); in obj_free()