• Masami Hiramatsu's avatar
    perf probe: Fix to probe an inline function which has no entry pc · eb6933b2
    Masami Hiramatsu authored
    Fix perf probe to probe an inlne function which has no entry pc
    or low pc but only has ranges attribute.
    
    This seems very rare case, but I could find a few examples, as
    same as probe_point_search_cb(), use die_entrypc() to get the
    entry address in probe_point_inline_cb() too.
    
    Without this patch:
    
      # perf probe -D __amd_put_nb_event_constraints
      Failed to get entry address of __amd_put_nb_event_constraints.
      Probe point '__amd_put_nb_event_constraints' not found.
        Error: Failed to add events.
    
    With this patch:
    
      # perf probe -D __amd_put_nb_event_constraints
      p:probe/__amd_put_nb_event_constraints amd_put_event_constraints+43
    
    Committer testing:
    
    Before:
    
      [root@quaco ~]# perf probe -D __amd_put_nb_event_constraints
      Failed to get entry address of __amd_put_nb_event_constraints.
      Probe point '__amd_put_nb_event_constraints' not found.
        Error: Failed to add events.
      [root@quaco ~]#
    
    After:
    
      [root@quaco ~]# perf probe -D __amd_put_nb_event_constraints
      p:probe/__amd_put_nb_event_constraints _text+33789
      [root@quaco ~]#
    
    Fixes: 4ea42b18 ("perf: Add perf probe subcommand, a kprobe-event setup helper")
    Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: http://lore.kernel.org/lkml/157199320336.8075.16189530425277588587.stgit@devnote2Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    eb6933b2
probe-finder.c 46.1 KB