linux/tools/perf
Arnaldo Carvalho de Melo 3b01a413c1 perf symbols: Improve kallsyms symbol end addr calculation
For kallsyms we don't have the symbol address end, so we do an extra pass and
set the symbol end addr as being the start of the next minus one.

But this was being done just after we filtered the symbols of a
particular type (functions, variables), so the symbol end was sometimes
after what it really is.

Fixing up symbol end also was falling apart when we have symbol aliases,
then the end address of all but the last alias was being set to be
before its start.

Fix it up by checking for symbol aliases and making the kallsyms__parse
routine use the next symbol, whatever its type, as the limit for the
previous symbol, passing that end address to the callback.

This was detected by the 'perf test' synthetic paranoid regression
tests, fix it up so that even that case doesn't mislead us.

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Stephane Eranian <eranian@google.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2010-12-22 20:31:45 -02:00
..
arch Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 09:30:52 -07:00
bench perf bench: Add feature that measures the performance of the arch/x86/lib/memcpy_64.S memcpy routines via 'perf bench mem' 2010-11-26 08:15:57 +01:00
Documentation perf probe: Fix line range description since a single file is allowed 2010-12-21 16:20:12 -02:00
scripts perf: Rename 'perf trace' to 'perf script' 2010-11-16 19:37:44 +01:00
util perf symbols: Improve kallsyms symbol end addr calculation 2010-12-22 20:31:45 -02:00
.gitignore perf tools: .gitignore += config.make config.make.autogen 2010-06-17 10:24:31 -03:00
builtin-annotate.c perf record,report,annotate,diff: Process events in order 2010-12-21 20:17:51 -02:00
builtin-bench.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-buildid-cache.c perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
builtin-buildid-list.c perf session: Fallback to unordered processing if no sample_id_all 2010-12-21 20:17:51 -02:00
builtin-diff.c perf symbols: Add symfs option for off-box analysis using specified tree 2010-12-21 20:17:51 -02:00
builtin-help.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-inject.c perf session: Fallback to unordered processing if no sample_id_all 2010-12-21 20:17:51 -02:00
builtin-kmem.c perf session: Fallback to unordered processing if no sample_id_all 2010-12-21 20:17:51 -02:00
builtin-kvm.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-lock.c perf session: Fallback to unordered processing if no sample_id_all 2010-12-21 20:17:51 -02:00
builtin-probe.c perf probe: Add basic module support 2010-10-21 16:11:44 -02:00
builtin-record.c perf record,report,annotate,diff: Process events in order 2010-12-21 20:17:51 -02:00
builtin-report.c perf symbols: Add symfs option for off-box analysis using specified tree 2010-12-21 20:17:51 -02:00
builtin-sched.c perf session: Fallback to unordered processing if no sample_id_all 2010-12-21 20:17:51 -02:00
builtin-script.c perf session: Fallback to unordered processing if no sample_id_all 2010-12-21 20:17:51 -02:00
builtin-stat.c perf stat: Add csv-style output 2010-12-01 19:47:41 -02:00
builtin-test.c perf options: Type check OPT_BOOLEAN and fix the offenders 2010-05-17 16:22:37 -03:00
builtin-timechart.c perf symbols: Add symfs option for off-box analysis using specified tree 2010-12-21 20:17:51 -02:00
builtin-top.c perf session: Fallback to unordered processing if no sample_id_all 2010-12-21 20:17:51 -02:00
builtin.h perf: Rename 'perf trace' to 'perf script' 2010-11-16 19:37:44 +01:00
command-list.txt Merge branch 'perf/rename' into perf/core 2010-12-01 09:22:19 +01:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
design.txt perf: Fix few typos + cosmetics 2010-01-13 17:39:44 +01:00
feature-tests.mak perf tools: Remove hardcoded include paths for elfutils 2010-11-19 16:38:04 -02:00
Makefile perf makefile: Allow strong and weak functions in LIB_OBJS 2010-12-07 11:58:50 -02:00
MANIFEST perf packaging: add memcpy to perf MANIFEST 2010-11-30 23:00:10 -02:00
perf-archive.sh perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
perf.c perf: Rename 'perf trace' to 'perf script' 2010-11-16 19:37:44 +01:00
perf.h perf, MIPS: Support cross compiling of tools/perf for MIPS 2010-10-12 13:34:37 +02:00