Re: [PATCH v2] perf symbols: Fix annotation of objects with debuginfo files

From: Arnaldo Carvalho de Melo
Date: Mon Aug 15 2016 - 15:48:42 EST


Em Mon, Aug 15, 2016 at 03:13:47PM +0800, Wangnan (F) escreveu:
>
>
> On 2016/8/13 9:55, Anton Blanchard wrote:
> > From: Anton Blanchard <anton@xxxxxxxxx>
> >
> > Commit 73cdf0c6ea9c ("perf symbols: Record text offset in dso
> > to calculate objdump address") started storing the offset of
> > the text section for all DSOs:
> >
> > if (elf_section_by_name(elf, &ehdr, &tshdr, ".text", NULL))
> > dso->text_offset = tshdr.sh_addr - tshdr.sh_offset;
> >
> > Unfortunately this breaks debuginfo files, because we need to calculate
> > the offset of the text section in the associated executable file. As a
> > result perf annotate returns junk for all debuginfo files.
> >
> > Fix this by using runtime_ss->elf which should point at the executable
> > when parsing a debuginfo file.
> >
> > Cc: stable@xxxxxxxxxxxxxxx # v4.6+
> > Fixes: 73cdf0c6ea9c ("perf symbols: Record text offset in dso to calculate objdump address")
> > Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
>
> I don't quite understand the debuginfo problem. I tested
> this patch follow steps recorded in commit 99e87f7 and
> see no problem.
>
> Tested-by: Wang Nan <wangnan0@xxxxxxxxxx>

Thanks, applied.

- Arnaldo