On Wed, Feb 27, 2019 at 09:06:40PM -0800, Song Liu wrote:

SNIP

> +     fflush(s);
> +     do {
> +             const struct bpf_line_info *linfo = NULL;
> +             struct disasm_line *dl;
> +             size_t prev_buf_size;
> +             const char *srcline;
> +             u64 addr;
> +
> +             addr = pc + ((u64 *)(info_linear->info.jited_ksyms))[sub_id];
> +             count = disassemble(pc, &info);
> +
> +             if (prog_linfo)
> +                     linfo = bpf_prog_linfo__lfind_addr_func(prog_linfo,
> +                                                             addr, sub_id,
> +                                                             nr_skip);
> +
> +             if (linfo && btf) {
> +                     srcline = btf__name_by_offset(btf, linfo->line_off);
> +                     nr_skip++;
> +             } else
> +                     srcline = NULL;
> +
> +             fprintf(s, "\n");
> +             prev_buf_size = buf_size;
> +             fflush(s);
> +
> +             if (!opts->hide_src_code && srcline) {
> +                     args->offset = -1;

why's the offset not needed in here?

jirka

> +                     args->line = strdup(srcline);
> +                     args->line_nr = 0;
> +                     args->ms.sym  = sym;
> +                     dl = disasm_line__new(args);
> +                     if (dl) {
> +                             annotation_line__add(&dl->al,
> +                                                  &notes->src->source);
> +                     }
> +             }

SNIP

Reply via email to