Lines Matching refs:segs
400 static int parse_elf_segs(Elf *elf, const char *path, struct elf_seg **segs, size_t *seg_cnt) in parse_elf_segs() argument
427 tmp = libbpf_reallocarray(*segs, *seg_cnt + 1, sizeof(**segs)); in parse_elf_segs()
431 *segs = tmp; in parse_elf_segs()
432 seg = *segs + *seg_cnt; in parse_elf_segs()
446 qsort(*segs, *seg_cnt, sizeof(**segs), cmp_elf_segs); in parse_elf_segs()
450 static int parse_vma_segs(int pid, const char *lib_path, struct elf_seg **segs, size_t *seg_cnt) in parse_vma_segs() argument
510 tmp = libbpf_reallocarray(*segs, *seg_cnt + 1, sizeof(**segs)); in parse_vma_segs()
516 *segs = tmp; in parse_vma_segs()
517 seg = *segs + *seg_cnt; in parse_vma_segs()
533 qsort(*segs, *seg_cnt, sizeof(**segs), cmp_elf_segs); in parse_vma_segs()
540 static struct elf_seg *find_elf_seg(struct elf_seg *segs, size_t seg_cnt, long virtaddr) in find_elf_seg() argument
549 for (i = 0, seg = segs; i < seg_cnt; i++, seg++) { in find_elf_seg()
556 static struct elf_seg *find_vma_seg(struct elf_seg *segs, size_t seg_cnt, long offset) in find_vma_seg() argument
565 for (i = 0, seg = segs; i < seg_cnt; i++, seg++) { in find_vma_seg()
583 struct elf_seg *segs = NULL, *vma_segs = NULL; in collect_usdt_targets() local
607 err = parse_elf_segs(elf, path, &segs, &seg_cnt); in collect_usdt_targets()
670 seg = find_elf_seg(segs, seg_cnt, usdt_abs_ip); in collect_usdt_targets()
742 seg = find_elf_seg(segs, seg_cnt, note.sema_addr); in collect_usdt_targets()
797 free(segs); in collect_usdt_targets()