• Ingo Molnar's avatar
    perf tools: Fix truncated annotation · f41612f4
    Ingo Molnar authored
    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.huSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    f41612f4
annotate.c 14.5 KB