linux/tools/perf/util
Ingo Molnar 3b0d516463 perf probe: Fix !dwarf build
Fix the !drawf build.

This uses the existing NO_DWARF_SUPPORT mechanism we use for that,
but it's really fragile and needs a cleanup. (in a separate patch)

1) Such uses:

 #ifndef NO_DWARF_SUPPORT

are double inverted logic a'la 'not not'. Instead the flag should
be called DWARF_SUPPORT.

2) Furthermore, assymetric #ifdef polluted code flow like:

        if (need_dwarf)
 #ifdef NO_DWARF_SUPPORT
                die("Debuginfo-analysis is not supported");
 #else   /* !NO_DWARF_SUPPORT */
                pr_debug("Some probes require debuginfo.\n");

        fd = open_vmlinux();

is very fragile and not acceptable. Instead of that helper functions
should be created and the dwarf/no-dwarf logic should be separated more
cleanly.

3) Local variable #ifdefs like this:

 #ifndef NO_DWARF_SUPPORT
        int fd;
 #endif

Are fragile as well and should be eliminated. Helper functions achieve
that too.

Cc: Masami Hiramatsu <mhiramat@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20100316220612.32050.33806.stgit@localhost6.localdomain6>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-03-17 12:13:28 +01:00
..
include perf tools: Use eprintf for pr_{err,warning,info} too 2010-03-12 10:28:36 +01:00
scripting-engines perf/scripts: Remove unnecessary PyTuple resizes 2010-02-25 04:07:49 +01:00
abspath.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
alias.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
build-id.c perf build-id: Move the routine to find DSOs with hits to the lib 2010-02-04 09:33:26 +01:00
build-id.h perf build-id: Move the routine to find DSOs with hits to the lib 2010-02-04 09:33:26 +01:00
cache.h perf report: Implement initial UI using newt 2010-03-12 10:28:46 +01:00
callchain.c perf tools: Unify debug messages mechanisms 2009-10-23 08:22:47 +02:00
callchain.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
color.c perf report: Implement initial UI using newt 2010-03-12 10:28:46 +01:00
color.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
config.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
cpumap.c perf tools: Fix sparse CPU numbering related bugs 2010-03-11 13:36:53 +01:00
cpumap.h perf tools: Fix sparse CPU numbering related bugs 2010-03-11 13:36:53 +01:00
ctype.c perf tools: Move graph_line and graph_dotted_line from top 2009-11-23 21:55:20 +01:00
debug.c perf report: Implement initial UI using newt 2010-03-12 10:28:46 +01:00
debug.h perf tools: Fix non-newt build 2010-03-13 08:23:37 +01:00
debugfs.c perf trace: Clean up find_debugfs() 2009-12-28 10:36:36 +01:00
debugfs.h perf tools: Mount debugfs automatically 2009-12-28 10:36:36 +01:00
environment.c perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
event.c Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 10:20:25 -08:00
event.h perf session: Add storage for seperating event types in report 2010-03-10 13:53:48 +01:00
exec_cmd.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
exec_cmd.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
generate-cmdlist.sh perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
header.c perf tools: Clean up O_LARGEFILE et al usage 2010-02-04 10:03:03 +01:00
header.h perf buildid-cache: Add new command to manage build-id cache 2010-01-21 08:31:29 +01:00
help.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
help.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
hist.c perf hist: Don't fprintf the callgraph unconditionally 2010-03-12 20:31:53 +01:00
hist.h perf report: Implement initial UI using newt 2010-03-12 10:28:46 +01:00
levenshtein.c perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
levenshtein.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
map.c perf symbols: Improve debugging information about symtab origins 2010-02-25 12:27:17 +01:00
map.h perf symbols: Improve debugging information about symtab origins 2010-02-25 12:27:17 +01:00
newt.c perf annotate: Properly notify the user that vmlinux is missing 2010-03-15 17:16:25 +01:00
pager.c perf_counter tools: Remove dead code 2009-06-27 06:06:39 +02:00
parse-events.c perf: Add attr->precise support to raw event parsing 2010-03-10 13:23:32 +01:00
parse-events.h perf trace: Add filter Suppport 2009-10-15 11:35:23 +02:00
parse-options.c perf tools: Align long options which have no short forms 2009-12-10 08:30:28 +01:00
parse-options.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
path.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
PERF-VERSION-GEN perf tools: Bump version to 0.0.2 2009-10-16 10:34:28 +02:00
probe-event.c perf probe: Fix !dwarf build 2010-03-17 12:13:28 +01:00
probe-event.h perf probe: Add data structure member access support 2010-03-17 12:11:15 +01:00
probe-finder.c perf probe: Add data structure member access support 2010-03-17 12:11:15 +01:00
probe-finder.h perf probe: List probes with line number and file name 2010-03-17 11:32:32 +01:00
quote.c perf: Fix read buffer overflow 2009-08-04 11:09:56 +02:00
quote.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
run-command.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
run-command.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
session.c perf session: Add storage for seperating event types in report 2010-03-10 13:53:48 +01:00
session.h perf report: Implement initial UI using newt 2010-03-12 10:28:46 +01:00
sigchain.c perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
sigchain.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
sort.c perf diff: Use perf_session__fprintf_hists just like 'perf record' 2009-12-16 16:53:37 +01:00
sort.h perf diff: Use perf_session__fprintf_hists just like 'perf record' 2009-12-16 16:53:37 +01:00
strbuf.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
strbuf.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
string.c perf probe: Add lazy line matching support 2010-02-25 17:49:30 +01:00
string.h perf probe: Add lazy line matching support 2010-02-25 17:49:30 +01:00
strlist.c perf probe: Fix --del to update current event list 2009-12-15 20:22:01 +01:00
strlist.h perf tools: Add for_each macros for strlist 2009-12-15 20:22:02 +01:00
svghelper.c perf timechart: Improve the visual appearance of scheduler delays 2009-10-20 03:39:21 +02:00
svghelper.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
symbol.c Merge branch 'perf/urgent' into perf/core 2010-03-17 11:31:48 +01:00
symbol.h Merge branch 'perf/urgent' into perf/core 2010-03-17 11:31:48 +01:00
thread.c perf report: Print the map table just after samples for which no map was found 2010-03-10 13:53:52 +01:00
thread.h perf report: Print the map table just after samples for which no map was found 2010-03-10 13:53:52 +01:00
trace-event-info.c perf tools: Convert getpagesize() uses to sysconf(_SC_GETPAGESIZE) 2010-01-16 10:58:46 +01:00
trace-event-parse.c perf/scripts: Move common code out of Perl-specific files 2010-02-23 20:37:29 +01:00
trace-event-read.c perf tools: Clean up O_LARGEFILE et al usage 2010-02-04 10:03:03 +01:00
trace-event-scripting.c perf/scripts: Add Python scripting engine 2010-02-25 04:07:29 +01:00
trace-event.h perf/scripts: Add Python scripting engine 2010-02-25 04:07:29 +01:00
types.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
usage.c perf top: Fall back to cpu-clock-tick hrtimer sampling if no cycle counter available 2009-06-07 17:31:52 +02:00
util.c perf: Fix implicit declaration of getline in util.c 2010-01-17 07:53:09 +01:00
util.h perf tools: Introduce xzalloc() for detecting out of memory conditions 2010-03-17 11:32:29 +01:00
values.c perf: Fix memory leak: counterwidth 2010-01-13 10:09:15 +01:00
values.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
wrapper.c perf tools: Remove unused wrapper routines 2009-11-24 16:37:03 +01:00