Messages in this thread | | | Date | Mon, 15 Aug 2016 22:16:49 +0530 | From | "Naveen N. Rao" <> | Subject | Re: [PATCH v2] perf symbols: Fix annotation of objects with debuginfo files |
| |
On 2016/08/15 03:13PM, Wang Nan wrote: > > > On 2016/8/13 9:55, Anton Blanchard wrote: > > From: Anton Blanchard <anton@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: stable@vger.kernel.org # v4.6+ > > Fixes: 73cdf0c6ea9c ("perf symbols: Record text offset in dso to calculate objdump address") > > Signed-off-by: Anton Blanchard <anton@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 <wangnan0@huawei.com> > > Thank you.
Thanks, - Naveen
| |