• Masami Hiramatsu's avatar
    perf probe: Fix line walker to check CU correctly · a128405c
    Masami Hiramatsu authored
    Fix line walker to check whether a given DIE is CU or not.
    
    Actually this function accepts CU, subprogram and inlined_subroutine
    DIEs.
    
    Without this fix, perf probe always fails to analyze lines on inlined
    functions;
    
    $ perf probe -L pre_schedule
    Debuginfo analysis failed. (-2)
      Error: Failed to show lines. (-2)
    
    This fixes that bug, as below.
    
    $ perf probe -L pre_schedule
    <pre_schedule@/home/mhiramat/ksrc/linux-2.6/kernel/sched.c:0>
          0  static inline void pre_schedule(struct rq *rq, struct task_struct *prev
             {
          2         if (prev->sched_class->pre_schedule)
          3                 prev->sched_class->pre_schedule(rq, prev);
             }
    
             /* rq->lock is NOT held, but preemption is disabled */
    
    Changes from v1:
     - Update against current tip tree.(Fix dwarf-aux.c)
    
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Masami Hiramatsu <masami.hiramatsu@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: yrl.pp-manager.tt@hitachi.com
    Link: http://lkml.kernel.org/r/20110811110235.19900.20614.stgit@fedora15Signed-off-by: default avatarMasami Hiramatsu <masami.hiramatsu@gmail.com>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    a128405c
dwarf-aux.c 17.3 KB