Lines Matching refs:segs
394 static int parse_elf_segs(Elf *elf, const char *path, struct elf_seg **segs, size_t *seg_cnt) in parse_elf_segs() argument
421 tmp = libbpf_reallocarray(*segs, *seg_cnt + 1, sizeof(**segs)); in parse_elf_segs()
425 *segs = tmp; in parse_elf_segs()
426 seg = *segs + *seg_cnt; in parse_elf_segs()
440 qsort(*segs, *seg_cnt, sizeof(**segs), cmp_elf_segs); in parse_elf_segs()
444 static int parse_vma_segs(int pid, const char *lib_path, struct elf_seg **segs, size_t *seg_cnt) in parse_vma_segs() argument
504 tmp = libbpf_reallocarray(*segs, *seg_cnt + 1, sizeof(**segs)); in parse_vma_segs()
510 *segs = tmp; in parse_vma_segs()
511 seg = *segs + *seg_cnt; in parse_vma_segs()
527 qsort(*segs, *seg_cnt, sizeof(**segs), cmp_elf_segs); in parse_vma_segs()
534 static struct elf_seg *find_elf_seg(struct elf_seg *segs, size_t seg_cnt, long virtaddr) in find_elf_seg() argument
543 for (i = 0, seg = segs; i < seg_cnt; i++, seg++) { in find_elf_seg()
550 static struct elf_seg *find_vma_seg(struct elf_seg *segs, size_t seg_cnt, long offset) in find_vma_seg() argument
559 for (i = 0, seg = segs; i < seg_cnt; i++, seg++) { in find_vma_seg()
577 struct elf_seg *segs = NULL, *vma_segs = NULL; in collect_usdt_targets() local
601 err = parse_elf_segs(elf, path, &segs, &seg_cnt); in collect_usdt_targets()
664 seg = find_elf_seg(segs, seg_cnt, usdt_abs_ip); in collect_usdt_targets()
736 seg = find_elf_seg(segs, seg_cnt, note.sema_addr); in collect_usdt_targets()
791 free(segs); in collect_usdt_targets()