Lines Matching defs:linfo
335 const struct bpf_line_info *linfo;
346 linfo = prog->aux->linfo;
347 /* Loop invariant: linfo[l].insn_off <= insns_off.
348 * linfo[0].insn_off == 0 which always satisfies above condition.
349 * Binary search is searching for rightmost linfo entry that satisfies
357 * l=1, r=2, linfo[l].insn_off <= insn_off, linfo[r].insn_off > insn_off,
358 * then m=2, we see that linfo[m].insn_off > insn_off, and so
364 if (linfo[m].insn_off <= insn_off)
370 return &linfo[l];
385 const struct bpf_line_info *linfo, *prev_linfo;
393 linfo = find_linfo(env, insn_off);
394 if (!linfo || linfo == prev_linfo)
397 /* It often happens that two separate linfo records point to the same
401 * So instead check that previous and current linfo record point to
405 if (prev_linfo && linfo->file_name_off == prev_linfo->file_name_off &&
406 BPF_LINE_INFO_LINE_NUM(linfo->line_col) == BPF_LINE_INFO_LINE_NUM(prev_linfo->line_col))
418 s = ltrim(btf_name_by_offset(btf, linfo->line_off));
421 s = btf_name_by_offset(btf, linfo->file_name_off);
425 verbose(env, " @ %s:%u\n", fname, BPF_LINE_INFO_LINE_NUM(linfo->line_col));
427 env->prev_linfo = linfo;