• M
    perf probe: Fix --line to handle aliased symbols in glibc · 811dd2ae
    Masami Hiramatsu 提交于
    Fix perf probe --line to handle aliased symbols correctly in glibc.
    
    This makes line_range search failing back to address-based alternative
    search as same as --add and --vars.
    
    Without this patch;
      -----
      # ./perf probe -x /usr/lib64/libc-2.17.so -L malloc
      Specified source line is not found.
        Error: Failed to show lines.
      -----
    
    With this patch;
      -----
      # ./perf probe -x /usr/lib64/libc-2.17.so -L malloc
      <__libc_malloc@/usr/src/debug/glibc-2.17-c758a686/malloc/malloc.c:0>
            0  __libc_malloc(size_t bytes)
            1  {
                 mstate ar_ptr;
                 void *victim;
    
                 __malloc_ptr_t (*hook) (size_t, const __malloc_ptr_t)
            6      = force_reg (__malloc_hook);
            7    if (__builtin_expect (hook != NULL, 0))
            8      return (*hook)(bytes, RETURN_ADDRESS (0));
    
           10    arena_lookup(ar_ptr);
    
           12    arena_lock(ar_ptr, bytes);
      -----
    
    Note that this actually shows __libc_malloc, since it is the real
    instance of malloc. User can use both __libc_malloc and malloc for
    --line.
    Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Naohiro Aota <naota@elisp.net>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20150306073122.6904.18540.stgit@localhost.localdomainSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    811dd2ae
probe-event.c 64.3 KB