Arnaldo Carvalho de Melo
70a7cb3b39
perf annotate: Fix handling of goto labels that are valid hex numbers
...
When parsing the objdump disassembly output we can have goto labels that
are valid hex numbers and thus get confused with lines with machine
code.
Handle the common case of a label that has nothing after it and other
cases where there is just source code by validating the resulting "ip".
It is still possible that we find goto labels that are in the function
address range, but only if they are located before the real address we
should be OK.
A change in the objdump output to have a clear marker separating
addresses from the disassembly would come handy, but we would still have
to deal with older versions.
Reported-by: Gleb Natapov <gleb@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Gleb Natapov <gleb@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
LKML-Reference: <20100722170541.GF17631@ghostprotocols.net>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2010-07-22 14:04:13 -03:00
..
include
perf options: Check v type in OPT_U?INTEGER
2010-05-17 15:43:38 -03:00
scripting-engines
perf scripts python: Give field dict to unhandled callback
2010-06-01 06:12:35 -03:00
abspath.c
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
alias.c
perf_counter tools: Add more warnings and fix/annotate them
2009-07-01 12:49:48 +02:00
bitmap.c
perf tools: Don't use code surrounded by __KERNEL__
2010-05-02 12:00:44 -03:00
build-id.c
perf annotate: Use build-ids to find the right DSO
2010-05-20 12:15:33 -03:00
build-id.h
perf annotate: Use build-ids to find the right DSO
2010-05-20 12:15:33 -03:00
cache.h
perf tui: Allow disabling the TUI on a per command basis in ~/.perfconfig
2010-05-20 22:01:10 -03:00
callchain.c
perf: Sync callchains with period based hits
2010-07-08 06:26:56 +02:00
callchain.h
perf: Sync callchains with period based hits
2010-07-08 06:26:56 +02:00
color.c
perf hist: Replace ->print() routines by ->snprintf() equivalents
2010-04-02 16:28:15 -03:00
color.h
perf hist: Replace ->print() routines by ->snprintf() equivalents
2010-04-02 16:28:15 -03:00
config.c
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03: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 tui: Fix last use_browser problem related to .perfconfig
2010-05-27 09:53:40 -03:00
debug.h
perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR()
2010-04-14 11:26:44 +02: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
perf session: Remove threads from tree on PERF_RECORD_EXIT
2010-06-17 08:37:44 -03:00
event.h
perf hist: Make event__totals per hists
2010-05-14 10:36:42 -03:00
exec_cmd.c
perf tools: remove xstrndup, xmalloc, xzalloc
2010-05-18 23:05:28 -03:00
exec_cmd.h
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03: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 session: Make read_build_id routines look at the host_machine too
2010-05-19 13:45:08 -03:00
header.h
perf/live: don't synthesize build ids at the end of a live mode trace
2010-05-02 12:04:05 -03:00
help.c
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
help.h
perf tools: Protect header files with a consistent style
2009-09-24 21:27:51 +02:00
hist.c
perf annotate: Fix handling of goto labels that are valid hex numbers
2010-07-22 14:04:13 -03:00
hist.h
perf report: Support multiple events on the TUI
2010-05-23 22:36:51 -03:00
hweight.c
perf tools: Don't use code surrounded by __KERNEL__
2010-05-02 12:00:44 -03: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 session: Embed the host machine data on perf_session
2010-05-09 21:14:52 -03:00
map.h
perf symbols: Add machine helper routines
2010-04-29 15:25:23 -03:00
newt.c
perf record: Don't call newt functions when not initialized
2010-06-10 08:29:19 -03:00
pager.c
perf_counter tools: Remove dead code
2009-06-27 06:06:39 +02:00
parse-events.c
Merge branch 'perf' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/core
2010-05-08 10:02:57 +02:00
parse-events.h
perf: record TRACE_INFO only if using tracepoints and SAMPLE_RAW
2010-05-03 10:31:48 -03:00
parse-options.c
perf options: Type check all the remaining OPT_ variants
2010-05-17 16:22:41 -03:00
parse-options.h
perf options: Type check all the remaining OPT_ variants
2010-05-17 16:22:41 -03:00
path.c
perf tools: remove xstrndup, xmalloc, xzalloc
2010-05-18 23:05:28 -03:00
PERF-VERSION-GEN
perf: Version String fix, for fallback if not from git
2010-07-05 10:42:58 +02:00
probe-event.c
perf machine: Adopt some map_groups functions
2010-04-27 21:21:18 -03:00
probe-event.h
perf probe: Add --max-probes option
2010-04-26 15:35:20 -03:00
probe-finder.c
perf probe: Fix some error exit paths
2010-05-18 23:04:28 -03:00
probe-finder.h
perf probe: Don't compile CFI related code if elfutils is old
2010-05-17 22:13:51 -03:00
pstack.c
perf newt: Make <- zoom out filters
2010-05-14 20:05:21 -03:00
pstack.h
perf newt: Make <- zoom out filters
2010-05-14 20:05:21 -03:00
quote.c
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
quote.h
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
run-command.c
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
run-command.h
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
session.c
perf session: Remove threads from tree on PERF_RECORD_EXIT
2010-06-17 08:37:44 -03:00
session.h
perf session: Remove threads from tree on PERF_RECORD_EXIT
2010-06-17 08:37:44 -03:00
sigchain.c
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
sigchain.h
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
sort.c
perf options: Type check all the remaining OPT_ variants
2010-05-17 16:22:41 -03:00
sort.h
perf options: Type check all the remaining OPT_ variants
2010-05-17 16:22:41 -03:00
strbuf.c
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
strbuf.h
perf tools: Remove some unused functions
2010-05-18 23:03:35 -03:00
string.c
perf: Swap inclusion order of util.h and string.h in util/string.c
2010-04-04 16:40:42 +02: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
perf symbols: Fix directory descriptor leaking
2010-07-16 14:16:47 -03:00
symbol.h
perf symbols: Add the build id cache to the vmlinux path
2010-05-26 13:26:02 -03:00
thread.c
perf tools: Fix find tids routine by excluding "." and ".."
2010-07-01 14:02:38 -03:00
thread.h
perf session: Remove threads from tree on PERF_RECORD_EXIT
2010-06-17 08:37:44 -03:00
trace-event-info.c
perf/record: simplify TRACE_INFO tracepoint check
2010-05-05 11:12:53 -03:00
trace-event-parse.c
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-05-18 08:19:03 -07:00
trace-event-read.c
perf: Use read() instead of lseek() in trace_event_read.c:skip()
2010-05-20 08:37:17 +02:00
trace-event-scripting.c
perf/scripts: Add Python scripting engine
2010-02-25 04:07:29 +01:00
trace-event.h
perf: Fix unaligned accesses while fetching trace values
2010-05-20 11:21:57 +02: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 report: Report number of events, not samples
2010-05-14 14:19:35 -03:00
util.h
perf annotate: Add TUI interface
2010-05-22 11:25:40 -03: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 xstrndup, xmalloc, xzalloc
2010-05-18 23:05:28 -03:00