lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0c76f0d9-89d5-1913-0736-3b991c742e8c@linux.intel.com>
Date:   Mon, 24 Feb 2020 23:53:28 +0800
From:   "Jin, Yao" <yao.jin@...ux.intel.com>
To:     Ravi Bangoria <ravi.bangoria@...ux.ibm.com>,
        Jiri Olsa <jolsa@...hat.com>
Cc:     alexander.shishkin@...ux.intel.com, acme@...nel.org,
        jolsa@...nel.org, peterz@...radead.org, mingo@...hat.com,
        Linux-kernel@...r.kernel.org, ak@...ux.intel.com,
        kan.liang@...el.com, yao.jin@...el.com
Subject: Re: [PATCH v3 2/2] Support interactive annotation of code without
 symbols



On 2/24/2020 10:04 PM, Ravi Bangoria wrote:
> 
> 
> On 2/24/20 7:21 PM, Jiri Olsa wrote:
>> On Mon, Feb 24, 2020 at 06:55:12PM +0530, Ravi Bangoria wrote:
>>> Hi Jin,
>>>
>>> On 2/24/20 7:52 AM, Jin Yao wrote:
>>>> For perf report on stripped binaries it is currently impossible to do
>>>> annotation. The annotation state is all tied to symbols, but there are
>>>> either no symbols, or symbols are not covering all the code.
>>>>
>>>> We should support the annotation functionality even without symbols.
>>>>
>>>> This patch fakes a symbol and the symbol name is the string of address.
>>>> After that, we just follow current annotation working flow.
>>>>
>>>> For example,
>>>>
>>>> 1. perf report
>>>>
>>>> Overhead  Command  Shared Object     Symbol
>>>>     20.67%  div      libc-2.27.so      [.] __random_r
>>>>     17.29%  div      libc-2.27.so      [.] __random
>>>>     10.59%  div      div               [.] 0x0000000000000628
>>>>      9.25%  div      div               [.] 0x0000000000000612
>>>>      6.11%  div      div               [.] 0x0000000000000645
>>>>
>>>> 2. Select the line of "10.59%  div      div               [.] 
>>>> 0x0000000000000628" and ENTER.
>>>>
>>>> Annotate 0x0000000000000628
>>>> Zoom into div thread
>>>> Zoom into div DSO (use the 'k' hotkey to zoom directly into the kernel)
>>>> Browse map details
>>>> Run scripts for samples of symbol [0x0000000000000628]
>>>> Run scripts for all samples
>>>> Switch to another data file in PWD
>>>> Exit
>>>>
>>>> 3. Select the "Annotate 0x0000000000000628" and ENTER.
>>>>
>>>> Percent│
>>>>          │
>>>>          │
>>>>          │     Disassembly of section .text:
>>>>          │
>>>>          │     0000000000000628 <.text+0x68>:
>>>>          │       divsd %xmm4,%xmm0
>>>>          │       divsd %xmm3,%xmm1
>>>>          │       movsd (%rsp),%xmm2
>>>>          │       addsd %xmm1,%xmm0
>>>>          │       addsd %xmm2,%xmm0
>>>>          │       movsd %xmm0,(%rsp)
>>>>
>>>> Now we can see the dump of object starting from 0x628.
>>>
>>> If I press 'a' on address, it's not annotating. But if I annotate
>>> by pressing enter, like you explained, it works. Is it intentional?
>>
>> I saw that too, but I thought it's unrelated issue,
>> because we played with that just recently
>>
>> if you go through the 'enter' way and back, then the
>> next time 'a' works ;-)
> 
> Yes.
> 
> I liked the series so I was trying out the patches. Just reporting 
> issues I found...
> 
> jump/call arrows are also screwed up.. Like jump instruction is showing 
> call arrows.
> But these all are minor issues and can be fixed later on. I don't mind ;)
> 
> Ravi
> 

Some jumps will show arrow '->". For example,

→ jne   120

Yes, we can check and fix that later.

Thanks
Jin Yao

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ