I think there is something wrong with the branch_stack:
e.g. ..... 29: 00000000004005a0 -> 00000000004005b0 0 cycles P 0 ..... 30: 0000000000400888 -> 000000000040088c 0 cycles P 0 ..... 31: 000000000040088c -> 0000000000400898 0 cycles P 0
from the objdump: 400884: 97ffff3f bl 400580 __printf_chk@plt 400888: 97ffff46 bl 4005a0 rand@plt 40088c: b8004660 str w0, [x19],#4 400890: eb14027f cmp x19, x20 400894: 54ffffa1 b.ne 400888 <sort_array+0x50> 400898: d285e280 mov x0, #0x2f14
looks like 400888 is not jumping to 40088c, but 4005a0 instead. and 40088c is not even a jump instruction.
Dehao
On Wed, May 17, 2017 at 7:39 AM, Sebastian Pop sebpop@gmail.com wrote:
On Wed, May 17, 2017 at 9:35 AM, Dehao Chen dehao@google.com wrote:
On Wed, May 17, 2017 at 7:31 AM, Sebastian Pop sebpop@gmail.com wrote:
Could you please provide the full command line I should be using? I tried the following with no meaningful output:
# sample_merger -profile inj # cat data.txt 0 0 0
You also need to have -binary point to the profiling binary.
Thanks! I used the following command:
# sample_merger -profile ./inj -binary ./sort_3k
The output is data.txt attached.