linux/tools/perf/util
Adrian Hunter 39b12f7812 perf tools: Make it possible to read object code from vmlinux
The new "object code reading" test shows that it is not possible to read
object code from vmlinux.  That is because the mappings do not map to
the dso.  This patch fixes that.

A side-effect of changing the kernel map is that the "reloc" offset must
be taken into account.  As a result of that separate map functions for
relocation are no longer needed.

Also fixing up the maps to match the symbols no longer makes sense and
so is not done.

The vmlinux dso data_type is now set to either DSO_BINARY_TYPE__VMLINUX
or DSO_BINARY_TYPE__GUEST_VMLINUX as approprite, which enables the
correct file name to be determined by dso__binary_type_file().

This patch breaks the "vmlinux symtab matches kallsyms" test.  That is
fixed in a following patch.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1375875537-4509-4-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2013-08-07 17:35:31 -03:00
..
include perf tools: Default to cpu// for events v5 2013-07-12 13:53:52 -03:00
scripting-engines perf script: Fix named threads support 2013-07-22 11:55:53 -03:00
abspath.c
alias.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
annotate.c perf annotate browser: Use disasm__calc_percent() 2013-03-15 13:06:06 -03:00
annotate.h perf tools: Remove dependency on libnewt 2013-04-01 12:23:21 -03:00
bitmap.c perf tools: Add bitmap_or function into bitmap object 2012-02-13 23:28:10 -02:00
build-id.c perf symbols: Load kernel maps before using 2013-08-07 17:35:31 -03:00
build-id.h perf tools: Move BUILD_ID_SIZE into build-id object 2012-10-29 11:35:32 -02:00
cache.h perf ui: Always compile browser setup code 2012-11-14 16:53:03 -03:00
callchain.c perf tools: Support callchain sorting based on addresses 2013-07-22 12:42:18 -03:00
callchain.h perf tools: Support callchain sorting based on addresses 2013-07-22 12:42:18 -03:00
cgroup.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cgroup.h perf tool: Add cgroup support 2011-02-16 13:30:48 +01:00
color.c perf tools: Use scnprintf where applicable 2012-03-14 12:36:19 -03:00
color.h
config.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
cpumap.c perf stat: Add per-core aggregation 2013-03-25 16:13:26 -03:00
cpumap.h perf tools: Rename cpu_map__all() to cpu_map__empty() 2013-07-12 13:45:44 -03:00
ctype.c perf tools: ctype.c only wants util.h 2012-02-13 23:17:40 -02:00
debug.c perf tools: Fix TUI helpline output 2012-12-09 08:46:07 -03:00
debug.h perf evsel: Introduce perf_evsel__open_strerror method 2013-01-24 16:40:09 -03:00
dso.c perf tools: Make it possible to read object code from vmlinux 2013-08-07 17:35:31 -03:00
dso.h perf tools: Make it possible to read object code from vmlinux 2013-08-07 17:35:31 -03:00
dwarf-aux.c perf probe: Print an enum type variable in "enum variable-name" format when showing accessible variables 2012-09-27 10:58:57 -03:00
dwarf-aux.h perf probe: Search concrete out-of-line instances 2011-08-12 09:32:10 -03:00
environment.c
event.c perf symbols: Load kernel maps before using 2013-08-07 17:35:31 -03:00
event.h perf tools: Add support for parsing PERF_SAMPLE_READ sample type 2013-08-07 17:35:20 -03:00
evlist.c perf evlist: Remove obsolete dummy execve 2013-08-07 17:35:28 -03:00
evlist.h perf evlist: Add perf_evlist__id2sid method to get event ID related data 2013-08-07 17:35:21 -03:00
evsel.c perf evsel: Add support for enabling counters 2013-08-07 17:35:28 -03:00
evsel.h perf evsel: Add support for enabling counters 2013-08-07 17:35:28 -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 perf tools: Convert to LIBELF_SUPPORT 2012-09-28 21:07:36 -03:00
header.c perf header: Recognize version number for perf data file 2013-07-17 17:04:00 -03:00
header.h perf header: Recognize version number for perf data file 2013-07-17 17:04:00 -03:00
help.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
help.h
hist.c perf tools: Support callchain sorting based on addresses 2013-07-22 12:42:18 -03:00
hist.h perf tools: Move hist_entry__period_snprintf into stdio code 2013-07-12 13:54:18 -03:00
hweight.c
intlist.c perf tools: Allow passing a list to intlist__new 2013-01-24 16:40:53 -03:00
intlist.h perf tools: Allow passing a list to intlist__new 2013-01-24 16:40:53 -03:00
levenshtein.c
levenshtein.h
machine.c perf tools: Make it possible to read object code from vmlinux 2013-08-07 17:35:31 -03:00
machine.h perf report/top: Add option to collapse undesired parts of call graph 2013-07-12 13:53:55 -03:00
map.c perf tools: Make it possible to read object code from vmlinux 2013-08-07 17:35:31 -03:00
map.h perf tools: Stop using 'self' in map.[ch] 2013-01-25 12:49:28 -03:00
pager.c perf tools: Fix pager on minimal-install embedded systems 2012-05-30 15:10:39 -03:00
parse-events.c perf tools: Add 'S' event/group modifier to read sample value 2013-08-07 17:35:22 -03:00
parse-events.h perf parse events: Demystify memory allocations 2013-07-12 13:52:05 -03:00
parse-events.l perf tools: Add 'S' event/group modifier to read sample value 2013-08-07 17:35:22 -03:00
parse-events.y perf parse events: Demystify memory allocations 2013-07-12 13:52:05 -03:00
parse-options.c perf tools: Long option completion support for each subcommands 2012-10-02 18:36:44 -03:00
parse-options.h perf tools: Long option completion support for each subcommands 2012-10-02 18:36:44 -03:00
path.c perf tools: Convert to HAVE_STRLCPY 2012-10-02 18:36:24 -03:00
perf_regs.h perf tools: Convert to LIBUNWIND_SUPPORT 2012-10-02 17:56:01 -03:00
PERF-VERSION-GEN perf tools: Fix perf version generation 2013-07-08 18:09:52 -03:00
pmu.c perf list: List kernel supplied event aliases 2013-07-12 13:53:53 -03:00
pmu.h perf list: List kernel supplied event aliases 2013-07-12 13:53:53 -03:00
pmu.l perf tools: Add perf pmu object to access pmu format definition 2012-03-16 14:29:35 -03:00
pmu.y perf tools: Fix build with bison 2.3 and older. 2013-02-14 16:12:34 -03:00
probe-event.c perf tools: Introduce tools/lib/lk library 2013-03-15 13:06:00 -03:00
probe-event.h perf probe: Provide perf interface for uprobes 2012-05-11 13:58:17 -03:00
probe-finder.c perf probe: Allow of casting an array of char to string 2013-01-24 16:40:20 -03:00
probe-finder.h perf tools: Eliminate duplicate code and use PATH_MAX consistently 2011-11-28 10:11:04 -02:00
pstack.c perf tools: Stop using 'self' in pstack 2012-11-14 16:50:38 -03:00
pstack.h
python-ext-sources perf tools: Introduce tools/lib/lk library 2013-03-15 13:06:00 -03:00
python.c perf python: Fix breakage introduced by the test_attr infrastructure 2013-01-24 16:40:09 -03:00
quote.c
quote.h
rblist.c Account the nr_entries in rblist properly 2012-10-24 14:20:11 -02:00
rblist.h perf tools: Introducing rblist 2012-08-03 10:37:21 -03:00
run-command.c
run-command.h
session.c perf session: Export a few functions for event processing 2013-08-07 17:35:27 -03:00
session.h perf session: Export a few functions for event processing 2013-08-07 17:35:27 -03:00
setup.py perf tools: Merge all *CFLAGS* make variable into CFLAGS 2013-05-30 16:12:03 +03:00
sigchain.c
sigchain.h
sort.c perf tools: Move weight back to common sort keys 2013-07-22 16:58:28 -03:00
sort.h perf tools: Move weight back to common sort keys 2013-07-22 16:58:28 -03:00
stat.c perf stats: Add max and min stats 2013-08-07 17:35:26 -03:00
stat.h perf stats: Add max and min stats 2013-08-07 17:35:26 -03:00
strbuf.c perf tools: Fix strbuf_addf() when the buffer needs to grow 2012-10-30 10:32:56 -02:00
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 tools: Default to cpu// for events v5 2013-07-12 13:53:52 -03:00
strlist.c perf probe: Fix segfault 2013-03-13 17:00:33 -03:00
strlist.h perf tools: Stop using 'self' in strlist 2013-01-25 12:49:28 -03:00
svghelper.c perf timechart: Fix black idle boxes in the title 2011-02-28 08:56:14 +01:00
svghelper.h
symbol-elf.c perf tools: Make it possible to read object code from vmlinux 2013-08-07 17:35:31 -03:00
symbol-minimal.c perf symbols: Include elf.h header regardless LIBELF_SUPPORT 2013-01-24 16:40:18 -03:00
symbol.c perf tools: Make it possible to read object code from vmlinux 2013-08-07 17:35:31 -03:00
symbol.h perf tools: Add mem access sampling core support 2013-04-01 12:20:13 -03:00
sysfs.c perf tools: Fix possible (unlikely) buffer overflow 2013-01-24 16:40:18 -03:00
sysfs.h perf tools: Add sysfs mountpoint interface 2012-02-13 23:27:15 -02:00
target.c perf tools: Replace mempcpy with memcpy 2012-09-05 19:35:21 -03:00
target.h perf target: Add uses_mmap field 2012-05-17 12:32:54 -03:00
thread_map.c perf tools: fix thread_map__new_by_pid_str() memory leak in error path 2012-05-25 11:40:59 -03:00
thread_map.h perf evlist: Add thread_map__nr() helper 2013-03-15 13:06:02 -03:00
thread.c perf tools: struct thread has a tid not a pid 2013-07-12 13:53:50 -03:00
thread.h perf symbols: Load kernel maps before using 2013-08-07 17:35:31 -03:00
tool.h perf tools: Remove event types framework completely 2013-07-15 16:28:22 -03:00
top.c perf top: Fix percent output when no samples collected 2013-05-28 16:23:59 +03:00
top.h perf top: move CONSOLE_CLEAR to header file 2013-08-07 17:35:26 -03:00
trace-event-info.c perf util: No need to call read_trace_init() in tracing_data_header() 2013-07-12 13:52:31 -03:00
trace-event-parse.c perf script: Adopt latency_format variable 2013-07-12 13:52:28 -03:00
trace-event-read.c perf util: Parse header_page to get proper long size 2013-07-12 13:52:24 -03:00
trace-event-scripting.c perf script: Fix named threads support 2013-07-22 11:55:53 -03:00
trace-event.h perf script: Fix named threads support 2013-07-22 11:55:53 -03:00
types.h perf tools: Add union u64_swap type for swapping u64 data 2012-05-22 12:50:25 -03:00
unwind.c perf symbols: Load kernel maps before using 2013-08-07 17:35:31 -03:00
unwind.h perf tools: Convert to LIBUNWIND_SUPPORT 2012-10-02 17:56:01 -03:00
usage.c perf target: Introduce perf_target__parse_uid() 2012-05-07 16:46:48 -03:00
util.c perf util: Add parse_nsec_time() function 2013-08-07 17:35:26 -03:00
util.h perf util: Add parse_nsec_time() function 2013-08-07 17:35:26 -03:00
values.c perf tools: Fix a memory leak on perf_read_values_destroy 2011-12-20 13:41:34 -02:00
values.h
vdso.c perf symbols: Fix vdso list searching 2013-07-08 17:59:07 -03:00
vdso.h perf tools: Back [vdso] DSO with real data 2012-09-11 12:08:30 -03:00
wrapper.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
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