Lines Matching refs:ph

480 	Phdr *ph = dso->phdr;
484 for (; phcnt--; ph=(void *)((char *)ph+dso->phentsize)) {
485 if (ph->p_type!=PT_LOAD) continue;
486 if ((ph->p_flags&(PF_R|PF_W))!=(PF_R|PF_W)) continue;
487 reclaim(dso, ph->p_vaddr & -PAGE_SIZE, ph->p_vaddr);
488 reclaim(dso, ph->p_vaddr+ph->p_memsz,
489 ph->p_vaddr+ph->p_memsz+PAGE_SIZE-1 & -PAGE_SIZE);
547 Phdr *ph, *ph0;
566 ph = ph0 = allocated_buf;
571 ph = ph0 = (void *)(buf + 1);
573 ph = ph0 = (void *)((char *)buf + eh->e_phoff);
575 for (i=eh->e_phnum; i; i--, ph=(void *)((char *)ph+eh->e_phentsize)) {
576 if (ph->p_type == PT_DYNAMIC) {
577 dyn = ph->p_vaddr;
578 } else if (ph->p_type == PT_TLS) {
579 tls_image = ph->p_vaddr;
580 dso->tls.align = ph->p_align;
581 dso->tls.len = ph->p_filesz;
582 dso->tls.size = ph->p_memsz;
583 } else if (ph->p_type == PT_GNU_RELRO) {
584 dso->relro_start = ph->p_vaddr & -PAGE_SIZE;
585 dso->relro_end = (ph->p_vaddr + ph->p_memsz) & -PAGE_SIZE;
587 if (ph->p_type != PT_LOAD) continue;
589 if (ph->p_vaddr < addr_min) {
590 addr_min = ph->p_vaddr;
591 off_start = ph->p_offset;
592 prot = (((ph->p_flags&PF_R) ? PROT_READ : 0) |
593 ((ph->p_flags&PF_W) ? PROT_WRITE: 0) |
594 ((ph->p_flags&PF_X) ? PROT_EXEC : 0));
596 if (ph->p_vaddr+ph->p_memsz > addr_max) {
597 addr_max = ph->p_vaddr+ph->p_memsz;
606 for (ph=ph0, i=0; i<nsegs; ph=(void *)((char *)ph+eh->e_phentsize)) {
607 if (ph->p_type != PT_LOAD) continue;
608 prot = (((ph->p_flags&PF_R) ? PROT_READ : 0) |
609 ((ph->p_flags&PF_W) ? PROT_WRITE: 0) |
610 ((ph->p_flags&PF_X) ? PROT_EXEC : 0));
611 map = mmap(0, ph->p_memsz + (ph->p_vaddr & PAGE_SIZE-1),
613 fd, ph->p_offset & -PAGE_SIZE);
619 (ph->p_vaddr & PAGE_SIZE-1);
620 dso->loadmap->segs[i].p_vaddr = ph->p_vaddr;
621 dso->loadmap->segs[i].p_memsz = ph->p_memsz;
624 size_t brk = (ph->p_vaddr & PAGE_SIZE-1)
625 + ph->p_filesz;
627 size_t pgend = brk + ph->p_memsz - ph->p_filesz
667 for (ph=ph0, i=eh->e_phnum; i; i--, ph=(void *)((char *)ph+eh->e_phentsize)) {
668 if (ph->p_type != PT_LOAD) continue;
671 if (!dso->phdr && eh->e_phoff >= ph->p_offset
672 && eh->e_phoff+phsize <= ph->p_offset+ph->p_filesz) {
673 dso->phdr = (void *)(base + ph->p_vaddr
674 + (eh->e_phoff-ph->p_offset));
679 if ((ph->p_vaddr & -PAGE_SIZE) == addr_min && !DL_NOMMU_SUPPORT)
681 this_min = ph->p_vaddr & -PAGE_SIZE;
682 this_max = ph->p_vaddr+ph->p_memsz+PAGE_SIZE-1 & -PAGE_SIZE;
683 off_start = ph->p_offset & -PAGE_SIZE;
684 prot = (((ph->p_flags&PF_R) ? PROT_READ : 0) |
685 ((ph->p_flags&PF_W) ? PROT_WRITE: 0) |
686 ((ph->p_flags&PF_X) ? PROT_EXEC : 0));
689 if (ph->p_memsz > ph->p_filesz) {
690 size_t brk = (size_t)base+ph->p_vaddr+ph->p_filesz;
1171 Phdr *ph = p->phdr;
1172 for (cnt = p->phnum; cnt--; ph = (void *)((char *)ph + p->phentsize)) {
1173 if (ph->p_type == PT_DYNAMIC) {
1174 p->dynv = laddr(p, ph->p_vaddr);
1175 } else if (ph->p_type == PT_GNU_RELRO) {
1176 p->relro_start = ph->p_vaddr & -PAGE_SIZE;
1177 p->relro_end = (ph->p_vaddr + ph->p_memsz) & -PAGE_SIZE;
1179 if (ph->p_type != PT_LOAD) continue;
1180 if (ph->p_vaddr < min_addr)
1181 min_addr = ph->p_vaddr;
1182 if (ph->p_vaddr+ph->p_memsz > max_addr)
1183 max_addr = ph->p_vaddr+ph->p_memsz;