Lines Matching refs:seg
405 struct elf_seg *seg;
432 seg = *segs + *seg_cnt;
435 seg->start = phdr.p_vaddr;
436 seg->end = phdr.p_vaddr + phdr.p_memsz;
437 seg->offset = phdr.p_offset;
438 seg->is_exec = phdr.p_flags & PF_X;
454 struct elf_seg *seg;
517 seg = *segs + *seg_cnt;
520 seg->start = seg_start;
521 seg->end = seg_end;
522 seg->offset = seg_off;
523 seg->is_exec = true;
542 struct elf_seg *seg;
549 for (i = 0, seg = segs; i < seg_cnt; i++, seg++) {
550 if (seg->start <= virtaddr && virtaddr < seg->end)
551 return seg;
558 struct elf_seg *seg;
565 for (i = 0, seg = segs; i < seg_cnt; i++, seg++) {
566 if (seg->offset <= offset && offset < seg->offset + (seg->end - seg->start))
567 return seg;
624 struct elf_seg *seg = NULL;
670 seg = find_elf_seg(segs, seg_cnt, usdt_abs_ip);
671 if (!seg) {
677 if (!seg->is_exec) {
680 path, seg->start, seg->end, usdt_provider, usdt_name,
685 usdt_rel_ip = usdt_abs_ip - seg->start + seg->offset;
717 seg = find_vma_seg(vma_segs, vma_seg_cnt, usdt_rel_ip);
718 if (!seg) {
725 usdt_abs_ip = seg->start - seg->offset + usdt_rel_ip;
731 seg ? seg->start : 0, seg ? seg->end : 0, seg ? seg->offset : 0);
742 seg = find_elf_seg(segs, seg_cnt, note.sema_addr);
743 if (!seg) {
749 if (seg->is_exec) {
752 path, seg->start, seg->end, usdt_provider, usdt_name,
757 usdt_sema_off = note.sema_addr - seg->start + seg->offset;
762 seg->start, seg->end, seg->offset);