Lines Matching refs:phdr
253 llvm::ELF::Elf64_Phdr *phdr = reinterpret_cast<llvm::ELF::Elf64_Phdr *>(addr + ehdr->e_phoff);
255 if (phdr[i].p_type != llvm::ELF::PT_LOAD) {
258 if (phdr[i].p_filesz > phdr[i].p_memsz) {
259 LOG_COMPILER(ERROR) << " p_filesz:0x" << std::hex << phdr[i].p_filesz << " > p_memsz:0x"
260 << phdr[i].p_memsz;
263 if (!phdr[i].p_filesz) {
266 unsigned char *virtualAddr = reinterpret_cast<unsigned char *>(addr + phdr[i].p_vaddr);
267 ASSERT(phdr[i].p_offset % PageSize() == 0);
268 if ((phdr[i].p_flags & llvm::ELF::PF_X) != 0) {
270 if (!PageProtect(virtualAddr, phdr[i].p_memsz, PAGE_PROT_EXEC_READ)) {