• S
    perf script: Show symbol offsets by default · 7903a708
    Sandipan Das 提交于
    Since the ip shown for a symbol is now always a virtual address, it
    becomes difficult to correlate this with objdump output and determine
    the exact instruction address. So, we always show the offset from the
    start of the symbol.
    
    This can be verified on a powerpc64le system running Fedora 27 as
    follows:
    
      # perf probe -a sys_write
      # perf record -e probe:sys_write -g ~/test
    
    Before applying this patch:
    
      # perf script
    
      test  9710 [013] 95614.332431: probe:sys_write: (c0000000004025b0)
              c0000000004025b0 sys_write (/lib/modules/4.17.0-rc4+/build/vmlinux)
              c00000000000b9e0 system_call (/lib/modules/4.17.0-rc4+/build/vmlinux)
                  7fffb70d8234 __GI___libc_write (/usr/lib64/libc-2.26.so)
                  7fffb7052c74 _IO_file_write@@GLIBC_2.17 (/usr/lib64/libc-2.26.so)
                      5afc1818 [unknown] ([unknown])
                  7fffb7051a60 new_do_write (/usr/lib64/libc-2.26.so)
                  7fffb7054638 _IO_do_write@@GLIBC_2.17 (/usr/lib64/libc-2.26.so)
                  7fffb7054bbc _IO_file_overflow@@GLIBC_2.17 (/usr/lib64/libc-2.26.so)
                  7fffb7055a24 __overflow (/usr/lib64/libc-2.26.so)
                  7fffb7044548 _IO_puts (/usr/lib64/libc-2.26.so)
                      10000440 main (/home/sandipan/test)
                  7fffb6fe36a0 generic_start_main.isra.0 (/usr/lib64/libc-2.26.so)
                  7fffb6fe3898 __libc_start_main (/usr/lib64/libc-2.26.so)
                             0 [unknown] ([unknown])
      ...
    
    After applying this patch:
    
      # perf script
    
      test  9710 [013] 95614.332431: probe:sys_write: (c0000000004025b0)
              c0000000004025b0 sys_write+0x10 (/lib/modules/4.17.0-rc4+/build/vmlinux)
              c00000000000b9e0 system_call+0x58 (/lib/modules/4.17.0-rc4+/build/vmlinux)
                  7fffb70d8234 __GI___libc_write+0x24 (/usr/lib64/libc-2.26.so)
                  7fffb7052c74 _IO_file_write@@GLIBC_2.17+0x44 (/usr/lib64/libc-2.26.so)
                      5afc1818 [unknown] ([unknown])
                  7fffb7051a60 new_do_write+0x90 (/usr/lib64/libc-2.26.so)
                  7fffb7054638 _IO_do_write@@GLIBC_2.17+0x38 (/usr/lib64/libc-2.26.so)
                  7fffb7054bbc _IO_file_overflow@@GLIBC_2.17+0x14c (/usr/lib64/libc-2.26.so)
                  7fffb7055a24 __overflow+0x64 (/usr/lib64/libc-2.26.so)
                  7fffb7044548 _IO_puts+0x218 (/usr/lib64/libc-2.26.so)
                      10000440 main+0x20 (/home/sandipan/test)
                  7fffb6fe36a0 generic_start_main.isra.0+0x140 (/usr/lib64/libc-2.26.so)
                  7fffb6fe3898 __libc_start_main+0xb8 (/usr/lib64/libc-2.26.so)
                             0 [unknown] ([unknown])
      ...
    Signed-off-by: NSandipan Das <sandipan@linux.vnet.ibm.com>
    Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Link: http://lkml.kernel.org/r/20180517063326.6319-2-sandipan@linux.vnet.ibm.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    7903a708
builtin-script.c 90.6 KB