On 2016/08/15 03:13PM, Wang Nan wrote:
> 
> 
> On 2016/8/13 9:55, Anton Blanchard wrote:
> > From: Anton Blanchard <an...@samba.org>
> > 
> > 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: sta...@vger.kernel.org # v4.6+
> > Fixes: 73cdf0c6ea9c ("perf symbols: Record text offset in dso to calculate 
> > objdump address")
> > Signed-off-by: Anton Blanchard <an...@samba.org>
> 
> I don't quite understand the debuginfo problem. I tested

Some distributions package debuginfo (DWARF, symbol table, ...) separate 
from the actual binary. As an example, on RHEL, if you install both 
findutils and findutils-debuginfo, you'll get /usr/bin/find (stripped 
binary) and /usr/lib/debug/bin/find.debug, which contains the actual 
symbol table and DWARF debug data.

> this patch follow steps recorded in commit 99e87f7 and
> see no problem.
> 
> Tested-by: Wang Nan <wangn...@huawei.com>
> 
> Thank you.

Thanks,
- Naveen

Reply via email to