Lines Matching defs:phdr

340 static Elf_Data *get_dynscn_strtab (Elf *elf, GElf_Phdr *phdr);
341 static void get_dynscn_addrs (Elf *elf, GElf_Phdr *phdr, GElf_Addr addrs[i_max]);
1402 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, cnt, &mem);
1405 if (unlikely (phdr == NULL))
1413 ebl_segment_type_name (ebl, phdr->p_type, buf, sizeof (buf)),
1414 phdr->p_offset,
1415 ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 8 : 16, phdr->p_vaddr,
1416 ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 8 : 16, phdr->p_paddr,
1417 phdr->p_filesz,
1418 phdr->p_memsz,
1419 phdr->p_flags & PF_R ? 'R' : ' ',
1420 phdr->p_flags & PF_W ? 'W' : ' ',
1421 phdr->p_flags & PF_X ? 'E' : ' ',
1422 phdr->p_align);
1424 if (phdr->p_type == PT_INTERP)
1436 Elf_Scn *scn = gelf_offscn (ebl->elf, phdr->p_offset);
1444 && filedata != NULL && phdr->p_offset < maxsize
1445 && phdr->p_filesz <= maxsize - phdr->p_offset
1446 && memchr (filedata + phdr->p_offset, '\0',
1447 phdr->p_filesz) != NULL)
1449 filedata + phdr->p_offset);
1451 else if (phdr->p_type == PT_GNU_RELRO)
1454 relro_from = phdr->p_vaddr;
1455 relro_to = relro_from + phdr->p_memsz;
1481 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, cnt, &phdr_mem);
1483 if (unlikely (phdr == NULL))
1509 ? (shdr->sh_addr >= phdr->p_vaddr
1511 <= phdr->p_vaddr + phdr->p_memsz))
1512 : (shdr->sh_offset >= phdr->p_offset
1514 <= phdr->p_offset + phdr->p_filesz))))
1531 else if (phdr->p_type == PT_LOAD && (phdr->p_flags & PF_W) == 0)
1820 handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr, GElf_Phdr *phdr)
1832 data = elf_getdata_rawchunk(ebl->elf, phdr->p_offset,
1833 phdr->p_filesz, ELF_T_DYN);
1873 class == ELFCLASS32 ? 10 : 18, phdr->p_paddr,
1874 phdr->p_offset);
1884 strtab_data = get_dynscn_strtab(ebl->elf, phdr);
2004 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, i, &phdr_mem);
2006 if (phdr != NULL && phdr->p_type == PT_DYNAMIC)
2008 Elf_Scn *scn = gelf_offscn (ebl->elf, phdr->p_offset);
2011 if ((use_dynamic_segment && phdr != NULL)
2013 handle_dynamic (ebl, scn, shdr, phdr);
2147 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, inner,
2149 if (phdr != NULL && phdr->p_type == PT_INTERP)
2337 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, inner,
2339 if (phdr != NULL && phdr->p_type == PT_INTERP)
4884 GElf_Phdr *phdr = gelf_getphdr(elf, i, &phdr_mem);
4885 if (phdr != NULL && phdr->p_type == PT_LOAD && phdr->p_memsz > 0)
4887 if (offs[j] == 0 && addrs[j] >= phdr->p_vaddr + main_bias &&
4888 addrs[j] - (phdr->p_vaddr + main_bias) < phdr->p_filesz) {
4889 offs[j] = addrs[j] - (phdr->p_vaddr + main_bias) + phdr->p_offset;
4904 get_dynscn_addrs(Elf *elf, GElf_Phdr *phdr, GElf_Addr addrs[i_max])
4907 elf, phdr->p_offset, phdr->p_filesz, ELF_T_DYN);
4956 get_dynscn_strtab(Elf *elf, GElf_Phdr *phdr)
4961 get_dynscn_addrs(elf, phdr, addrs);
12808 GElf_Phdr *phdr = gelf_getphdr (ebl->elf, cnt, &mem);
12810 if (phdr == NULL || phdr->p_type != PT_NOTE)
12816 phdr->p_filesz, phdr->p_offset);
12818 handle_notes_data (ebl, ehdr, phdr->p_offset,
12820 phdr->p_offset, phdr->p_filesz,
12821 (phdr->p_align == 8