Home | History | Annotate | Download | only in zbsdmod

Lines Matching defs:phdr

108 #define phdr	((Elf32_Phdr *)((char *)elf + elf->e_phoff))
124 if (phdr[i].p_type != PT_LOAD ||
125 (phdr[i].p_flags & (PF_W|PF_R|PF_X)) == 0)
134 if (IS_TEXT(phdr[i]) || IS_DATA(phdr[i])) {
135 posv = phdr[i].p_vaddr;
138 posv += phdr[i].p_filesz;
142 if (IS_BSS(phdr[i])) {
143 posv += phdr[i].p_memsz - phdr[i].p_filesz;
151 if (IS_DATA(phdr[i]) && !IS_BSS(phdr[i]))
152 esymp = (vaddr_t *)phdr[i].p_vaddr;
238 if (phdr[i].p_type != PT_LOAD ||
239 (phdr[i].p_flags & (PF_W|PF_R|PF_X)) == 0)
241 if (phdr[i].p_vaddr == (vaddr_t)esymp) {
242 phdr[i].p_vaddr = (vaddr_t)((char *)phdr[i].p_vaddr + sizeof(long));
243 phdr[i].p_offset = (vaddr_t)((char *)phdr[i].p_offset + sizeof(long));
244 phdr[i].p_filesz -= sizeof(long);
253 if (phdr[i].p_type != PT_LOAD ||
254 (phdr[i].p_flags & (PF_W|PF_R|PF_X)) == 0)
257 if (IS_TEXT(phdr[i]) || IS_DATA(phdr[i])) {
258 sz = phdr[i].p_filesz;
261 ((char *)phdr[i].p_vaddr)[sz] =
262 (((char *)elf) + phdr[i].p_offset)[sz];
265 if (IS_BSS(phdr[i])) {
266 memset((void *)(phdr[i].p_vaddr + phdr[i].p_filesz), 0,
267 phdr[i].p_memsz - phdr[i].p_filesz);