kernel-ark/tools/perf/util
Masami Hiramatsu a128405c6b perf probe: Fix line walker to check CU correctly
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@fedora15
Signed-off-by: Masami Hiramatsu <masami.hiramatsu@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2011-08-12 09:22:46 -03:00
..
include perf tools: Fix build on older systems 2011-05-26 11:16:29 -03:00
scripting-engines perf session: Pass evsel in event_ops->sample() 2011-03-23 19:28:58 -03:00
ui perf top browser: Remove spurious helpline update 2011-08-10 12:42:26 -03:00
abspath.c
alias.c
annotate.c perf symbols: Rename dso->origin to dso->symtab_type 2011-03-11 13:28:45 -03:00
annotate.h perf top: Live TUI Annotation 2011-02-22 12:02:07 -03:00
bitmap.c
build-id.c perf session: Pass evsel in event_ops->sample() 2011-03-23 19:28:58 -03:00
build-id.h
cache.h perf tools: Don't fallback to setup_pager unconditionally 2011-01-31 18:08:39 -02:00
callchain.c perf tools: Kill event_t typedef, use 'union perf_event' instead 2011-01-29 16:25:37 -02:00
callchain.h perf tools: Add inverted call graph report support. 2011-06-30 00:24:30 +02:00
cgroup.c perf: Fix a build error with some GCC versions 2011-04-08 17:40:21 +02:00
cgroup.h perf tool: Add cgroup support 2011-02-16 13:30:48 +01:00
color.c
color.h
config.c perf tools: Check $HOME/.perfconfig ownership 2011-08-09 12:42:13 -03:00
cpumap.c perf tools: Add missing cpu_map__delete() 2011-01-22 19:56:30 -02:00
cpumap.h perf tools: Add missing cpu_map__delete() 2011-01-22 19:56:30 -02:00
ctype.c
debug.c perf tools: Fixup exit path when not able to open events 2011-03-29 13:40:27 -03:00
debug.h perf tools: Fixup exit path when not able to open events 2011-03-29 13:40:27 -03:00
debugfs.c
debugfs.h
dwarf-aux.c perf probe: Fix line walker to check CU correctly 2011-08-12 09:22:46 -03:00
dwarf-aux.h perf-probe: Move dwarf library routines to dwarf-aux.{c, h} 2011-07-15 16:10:17 -04:00
environment.c
event.c perf evlist: Don't die if sample_{id_all|type} is invalid 2011-06-03 10:07:52 -03:00
event.h perf evlist: Don't die if sample_{id_all|type} is invalid 2011-06-03 10:07:52 -03:00
evlist.c perf evlist: Introduce 'disable' method 2011-07-25 11:06:19 -03:00
evlist.h perf evlist: Introduce 'disable' method 2011-07-25 11:06:19 -03:00
evsel.c perf evlist: Don't die if sample_{id_all|type} is invalid 2011-06-03 10:07:52 -03:00
evsel.h perf evlist: Don't die if sample_{id_all|type} is invalid 2011-06-03 10:07:52 -03:00
exec_cmd.c perf tools: Makefile: Remove various and sundry cruft 2011-02-18 07:43:06 -02:00
exec_cmd.h
generate-cmdlist.sh
header.c perf report: Use properly build_id kernel binaries 2011-08-11 08:58:03 -03:00
header.h perf tools: Move evlist sample helpers to evlist area 2011-05-22 03:12:29 +02:00
help.c
help.h
hist.c perf tools: Don't display ignored entries on stdio ui 2011-06-30 00:26:33 +02:00
hist.h perf session: Pass evsel in event_ops->sample() 2011-03-23 19:28:58 -03:00
hweight.c
levenshtein.c
levenshtein.h
map.c perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
map.h perf probe: Add basic module support 2010-10-21 16:11:44 -02:00
pager.c
parse-events.c perf tools: De-opt the parse_events function 2011-07-21 10:41:11 +02:00
parse-events.h perf tools: De-opt the parse_events function 2011-07-21 10:41:11 +02:00
parse-options.c
parse-options.h perf options: add OPT_CALLBACK_DEFAULT_NOOPT 2010-12-06 15:33:29 -02:00
path.c perf tools: add test for strlcpy() 2010-08-21 11:22:47 -03:00
PERF-VERSION-GEN perf: clear out make flags when calling kernel make kernelver 2011-06-15 22:12:55 +02:00
probe-event.c perf probe: Fix coredump introduced by probe module option 2011-08-08 09:35:41 -03:00
probe-event.h perf probe: Add probed module in front of function 2011-07-15 16:19:08 -04:00
probe-finder.c perf probe: Fix a memory leak for scopes array 2011-08-12 09:21:15 -03:00
probe-finder.h perf probe: Introduce debuginfo to encapsulate dwarf information 2011-07-15 16:14:19 -04:00
pstack.c
pstack.h perf ui: Move hists browser to util/ui/browsers/ 2010-08-10 16:11:08 -03:00
python.c perf python: Add PERF_RECORD_{LOST,READ,SAMPLE} routine tables 2011-07-25 17:13:27 -03:00
quote.c
quote.h
run-command.c
run-command.h
session.c perf script: Fix display of IP address for non-callchain path 2011-07-21 10:09:28 +02:00
session.h perf tools: Fix endian conversion reading event attr from file header 2011-07-21 09:57:36 +02:00
setup.py perf tools: Add support to install perf python extension 2011-08-08 12:54:26 -03:00
sigchain.c
sigchain.h
sort.c perf tools: Allow sort dimensions to be registered more than once 2011-06-30 00:26:41 +02:00
sort.h perf tools: Remove sort print helpers declarations 2011-06-30 00:26:19 +02:00
strbuf.c
strbuf.h
strfilter.c perf: Fix missing strndup declaration 2011-03-04 01:17:18 +01:00
strfilter.h perf tools: Add strfilter for general purpose string filter 2011-01-28 09:19:38 -02:00
string.c perf probe: Move strtailcmp to string.c 2011-07-15 16:00:47 -04:00
strlist.c
strlist.h
svghelper.c perf timechart: Fix black idle boxes in the title 2011-02-28 08:56:14 +01:00
svghelper.h
symbol.c perf: fix temporary file ownership check 2011-08-12 08:28:17 -03:00
symbol.h perf report: Use properly build_id kernel binaries 2011-08-11 08:58:03 -03:00
thread_map.c perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
thread_map.h perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
thread.c perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
thread.h perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
top.c perf top: Remove redundant syme->origin field 2011-03-11 13:28:45 -03:00
top.h perf symbol: Move sym_entry->skip to symbol->ignore 2011-03-11 13:36:01 -03:00
trace-event-info.c perf: Robustify proc and debugfs file recording 2011-07-14 15:53:01 -04:00
trace-event-parse.c rcu: Use softirq to address performance regression 2011-06-14 15:25:39 -07:00
trace-event-read.c
trace-event-scripting.c perf session: Pass evsel in event_ops->sample() 2011-03-23 19:28:58 -03:00
trace-event.h perf session: Pass evsel in event_ops->sample() 2011-03-23 19:28:58 -03:00
types.h perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
usage.c
util.c perf util: Move do_read from session to util 2011-01-03 16:50:55 -02:00
util.h perf probe: Move strtailcmp to string.c 2011-07-15 16:00:47 -04:00
values.c perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
values.h
wrapper.c
xyarray.c perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00
xyarray.h perf tools: Introduce event selectors 2011-01-03 16:39:04 -02:00