• Andi Kleen's avatar
    perf tools: Support --prefix/--prefix-strip · 3b0b16bf
    Andi Kleen authored
    The objdump utility has useful --prefix / --prefix-strip options to
    allow changing source code file names hardcoded into executables' debug
    info. Add options to 'perf report', 'perf top' and 'perf annotate',
    which are then passed to objdump.
    
      $ mkdir foo
      $ echo 'main() { for (;;); }' > foo/foo.c
      $ gcc -g foo/foo.c
      foo/foo.c:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
          1 | main() { for (;;); }
            | ^~~~
      $ perf record ./a.out
      ^C[ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.230 MB perf.data (5721 samples) ]
      $ mv foo bar
      $ perf annotate
      <does not show source code>
      $ perf annotate --prefix=/home/ak/lsrc/git/bar --prefix-strip=5
      <does show source code>
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Tested-by: default avatarJiri Olsa <jolsa@redhat.com>
    LPU-Reference: 20200107210444.214071-1-andi@firstfloor.org
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    3b0b16bf
annotate.c 78.4 KB