Messages in this thread | | | From | Song Liu <> | Subject | Re: [PATCH v5 perf,bpf 12/15] perf, bpf: enable annotation of bpf program | Date | Mon, 4 Mar 2019 19:45:00 +0000 |
| |
> On Mar 4, 2019, at 5:53 AM, Jiri Olsa <jolsa@redhat.com> wrote: > > 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?
This is the source code line. Based on my understanding of annotation code, we put -1 for source code line. Did I misunderstand something?
Thanks, Song
> > 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, >> + ¬es->src->source); >> + } >> + } > > SNIP
| |