Lines Matching defs:phdr
253 static int elf_read_program_header(Elf *elf, u64 vaddr, GElf_Phdr *phdr)
262 if (gelf_getphdr(elf, i, phdr) == NULL)
265 if (phdr->p_type != PT_LOAD)
268 sz = max(phdr->p_memsz, phdr->p_filesz);
272 if (vaddr >= phdr->p_vaddr && (vaddr < phdr->p_vaddr + sz))
407 GElf_Phdr phdr;
412 if (elf_read_program_header(elf, addr, &phdr))
415 addr -= phdr.p_vaddr - phdr.p_offset;
1680 GElf_Phdr phdr;
1683 (u64)sym.st_value, &phdr)) {
1703 __func__, (u64)sym.st_value, (u64)phdr.p_vaddr,
1704 (u64)phdr.p_offset);
1705 sym.st_value -= phdr.p_vaddr - phdr.p_offset;
1791 GElf_Phdr phdr;
1800 if (gelf_getphdr(elf, i, &phdr) == NULL)
1802 if (phdr.p_type != PT_LOAD)
1805 if (!(phdr.p_flags & PF_X))
1808 if (!(phdr.p_flags & PF_R))
1811 sz = min(phdr.p_memsz, phdr.p_filesz);
1814 err = mapfn(phdr.p_vaddr, sz, phdr.p_offset, data);
2026 GElf_Phdr phdr = {
2037 if (!gelf_update_phdr(kcore->elf, idx, &phdr))
2273 /* Find phdr that corresponds to the kernel map (contains stext) */