perf tools: Fix truncated annotation
I get such truncated annotation results in 'perf top': : Disassembly of section .text: ▒ : ▒ : ffffffff810966a8 <nr_iowait_cpu>: ▒ 4.94 : ffffffff810966a8: movslq %edi,%rdi ▒ 3.70 : ffffffff810966ab: mov $0x13700,%rax ▒ 0.00 : ffffffff810966b2: add -0x7e32cb00(,%rdi,8),%rax ▒ 8.64 : ffffffff810966ba: mov 0x7e0(%rax),%eax ▒ 82.72 : ffffffff810966c0: cltq ▒ Note the missing 'retq' which is there in the original function: ffffffff810966a8 <nr_iowait_cpu>: ffffffff810966a8: 48 63 ff movslq %edi,%rdi ffffffff810966ab: 48 c7 c0 00 37 01 00 mov $0x13700,%rax ffffffff810966b2: 48 03 04 fd 00 35 cd add -0x7e32cb00(,%rdi,8),%rax ffffffff810966b9: 81 ffffffff810966ba: 8b 80 e0 07 00 00 mov 0x7e0(%rax),%eax ffffffff810966c0: 48 98 cltq ffffffff810966c2: c3 retq ffffffff810966c3 <this_cpu_load>: I'm using a fairly recent binutils: GNU objdump version 2.21.51.0.6-2.fc16 20110118 AFAICS the bug is simply that sym->end points to the last byte of the symbol in question - while objdump's --stop-address expects the last byte plus 1 to disassemble the full range. Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/20111223130804.GA24305@elte.hu Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
64aab93cdf
commit
f41612f43b
|
@ -334,7 +334,7 @@ fallback:
|
||||||
disassembler_style ? "-M " : "",
|
disassembler_style ? "-M " : "",
|
||||||
disassembler_style ? disassembler_style : "",
|
disassembler_style ? disassembler_style : "",
|
||||||
map__rip_2objdump(map, sym->start),
|
map__rip_2objdump(map, sym->start),
|
||||||
map__rip_2objdump(map, sym->end),
|
map__rip_2objdump(map, sym->end+1),
|
||||||
symbol_conf.annotate_asm_raw ? "" : "--no-show-raw",
|
symbol_conf.annotate_asm_raw ? "" : "--no-show-raw",
|
||||||
symbol_conf.annotate_src ? "-S" : "",
|
symbol_conf.annotate_src ? "-S" : "",
|
||||||
symfs_filename, filename);
|
symfs_filename, filename);
|
||||||
|
|
Loading…
Reference in a new issue