Lines Matching refs:seg_cnt
394 static int parse_elf_segs(Elf *elf, const char *path, struct elf_seg **segs, size_t *seg_cnt) in parse_elf_segs() argument
402 *seg_cnt = 0; in parse_elf_segs()
421 tmp = libbpf_reallocarray(*segs, *seg_cnt + 1, sizeof(**segs)); in parse_elf_segs()
426 seg = *segs + *seg_cnt; in parse_elf_segs()
427 (*seg_cnt)++; in parse_elf_segs()
435 if (*seg_cnt == 0) { 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
452 *seg_cnt = 0; in parse_vma_segs()
504 tmp = libbpf_reallocarray(*segs, *seg_cnt + 1, sizeof(**segs)); in parse_vma_segs()
511 seg = *segs + *seg_cnt; in parse_vma_segs()
512 *seg_cnt += 1; in parse_vma_segs()
520 if (*seg_cnt == 0) { 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()
576 size_t off, name_off, desc_off, seg_cnt = 0, vma_seg_cnt = 0, target_cnt = 0; 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()