On Mon, Mar 04, 2019 at 07:45:00PM +0000, Song Liu wrote:
> 
> 
> > On Mar 4, 2019, at 5:53 AM, Jiri Olsa <jo...@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?

please double check, IIRC annotation_line__print will print
just more info if offset is present, together with the source,
but I haven't checked that code for some time, so I might be wrong

jirka

Reply via email to