perf annotate browser: Bandaid offsets/jump label objdump ambiguity
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 20 Apr 2012 18:17:50 +0000 (15:17 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 20 Apr 2012 18:17:50 +0000 (15:17 -0300)
commit97148a97baf71536e15aa0acf3310b7b1409e2f4
tree9ad77415439599c9ee26da31dcb9bda6b8c4f1a0
parentc7e6ead7347813b5833efb9b32908c08ff131259
perf annotate browser: Bandaid offsets/jump label objdump ambiguity

We need to cope with things like:

$ objdump  -d --no-show-raw -S -C /lib/modules/3.4.0-rc2+/build/vmlinux
<SNIP>
ffffffff8125ec60 <copy_user_generic_unrolled>:
 * Output:
 * eax uncopied bytes or 0 if successful.
 */
ENTRY(copy_user_generic_unrolled)
CFI_STARTPROC
cmpl $8,%edx
ffffffff8125ec60: cmp    $0x8,%edx
jb 20f /* less then 8 bytes, go to byte copy loop */
ffffffff8125ec63: jb     ffffffff8125ecf5 <copy_user_generic_unrolled+0x95>
ALIGN_DESTINATION
<SNIP>
ffffffff8125ec8d: je     ffffffff8125ecd9 <copy_user_generic_unrolled+0x79>
1: movq (%rsi),%r8
ffffffff8125ec8f: mov    (%rsi),%r8
2: movq 1*8(%rsi),%r9
ffffffff8125ec92: mov    0x8(%rsi),%r9
3: movq 2*8(%rsi),%r10
ffffffff8125ec96: mov    0x10(%rsi),%r10
4: movq 3*8(%rsi),%r11

<SNIP>

Probably expect that the length of the addr field be the same...

Lazy move for now, back to supporting suppressing the address on callq lines...

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-7hp85vnvowpqj8799f8rxbu1@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/ui/browsers/annotate.c