linux-bl808/tools/perf/util
Adrian Hunter b5cabbcbd1 perf tools: Fix copying of /proc/kcore
A copy of /proc/kcore containing the kernel text can be made to the
buildid cache. e.g.

	perf buildid-cache -v -k /proc/kcore

To workaround objdump limitations, a copy is also made when annotating
against /proc/kcore.

The copying process stops working from libelf about v1.62 onwards (the
problem was found with v1.63).

The cause is that a call to gelf_getphdr() in kcore__add_phdr() fails
because additional validation has been added to gelf_getphdr().

The use of gelf_getphdr() is a misguided attempt to get default
initialization of the Gelf_Phdr structure.  That should not be
necessary because every member of the Gelf_Phdr structure is
subsequently assigned.  So just remove the call to gelf_getphdr().

Similarly, a call to gelf_getehdr() in gelf_kcore__init() can be
removed also.

Committer notes:

Note to stable@kernel.org, from Adrian in the cover letter for this
patchkit:

The "Fix copying of /proc/kcore" problem goes back to v3.13 if you think
it is important enough for stable.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: stable@kernel.org
Link: http://lkml.kernel.org/r/1443089122-19082-3-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-09-25 10:45:50 -03:00
..
include tools: Copy rbtree_augmented.h from the kernel 2015-07-05 22:59:05 -03:00
intel-pt-decoder perf build: Fix Intel PT instruction decoder dependency problem 2015-09-01 13:03:46 -03:00
scripting-engines
abspath.c
alias.c
annotate.c perf tools: /proc/kcore requires CAP_SYS_RAWIO message too noisy 2015-08-21 10:29:23 -03:00
annotate.h perf annotate: Compute IPC and basic block cycles 2015-08-06 16:36:12 -03:00
auxtrace.c perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
auxtrace.h perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
bitmap.c
Build perf record: Add ability to name registers to record 2015-08-31 18:01:33 -03:00
build-id.c perf buildid: Introduce sysfs/filename__sprintf_build_id 2015-08-28 14:53:50 -03:00
build-id.h perf buildid: Introduce sysfs/filename__sprintf_build_id 2015-08-28 14:53:50 -03:00
cache.h
callchain.c perf callchain: Move option parsing code to util.c 2015-08-08 14:16:49 -03:00
callchain.h perf callchain: Move option parsing code to util.c 2015-08-08 14:16:49 -03:00
cgroup.c
cgroup.h
cloexec.c
cloexec.h perf tools: Fix build errors with mipsel-linux-uclibc compiler 2015-08-05 16:56:16 -03:00
color.c perf tools: Do not include escape sequences in color_vfprintf return 2015-08-05 16:46:06 -03:00
color.h perf tools: Remove trail argument to color vsprintf 2015-08-05 16:44:02 -03:00
comm.c
comm.h
config.c perf tools: Introduce llvm config options 2015-08-07 10:16:59 -03:00
counts.c perf stat: Move perf_counts struct and functions into separate object 2015-08-08 14:16:49 -03:00
counts.h perf stat: Move perf_counts struct and functions into separate object 2015-08-08 14:16:49 -03:00
cpumap.c
cpumap.h
ctype.c
data-convert-bt.c
data-convert-bt.h
data.c
data.h
db-export.c
db-export.h
debug.c perf tools: Introduce veprintf 2015-08-06 15:30:38 -03:00
debug.h perf tools: Introduce veprintf 2015-08-06 15:30:38 -03:00
dso.c
dso.h perf annotate: Reset the dso find_symbol cache when removing symbols 2015-08-24 13:33:14 -03:00
dwarf-aux.c perf probe: Fix to add missed brace around if block 2015-08-13 14:51:26 -03:00
dwarf-aux.h
environment.c
event.c perf tools: Add new PERF_RECORD_SWITCH event 2015-07-23 22:51:13 -03:00
event.h perf tools: Add support for cycles, weight branch_info field 2015-08-06 16:29:45 -03:00
evlist.c perf evlist: Fix create_syswide_maps() not propagating maps 2015-09-15 11:03:22 -03:00
evlist.h perf evlist: Fix splice_list_tail() not setting evlist 2015-09-15 10:23:17 -03:00
evsel.c perf evsel: Add own_cpus member 2015-09-15 10:41:13 -03:00
evsel.h perf evsel: Add own_cpus member 2015-09-15 10:41:13 -03:00
exec_cmd.c
exec_cmd.h
find-vdso-map.c
generate-cmdlist.sh
header.c perf header: Fixup reading of HEADER_NRCPUS feature 2015-09-13 11:41:34 -03:00
header.h perf tools: Rename perf_session_env to perf_env 2015-08-28 14:53:55 -03:00
help.c
help.h
hist.c perf report: Show call graph from reference events 2015-08-12 13:20:28 -03:00
hist.h perf tools: Rename perf_session_env to perf_env 2015-08-28 14:53:55 -03:00
intel-bts.c perf tools: Fix use of wrong event when processing exit events 2015-09-02 17:46:26 -03:00
intel-bts.h perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
intel-pt.c perf tools: Fix use of wrong event when processing exit events 2015-09-02 17:46:26 -03:00
intel-pt.h perf tools: Pass Intel PT information for decoding MTC and CYC 2015-08-24 17:46:43 -03:00
intlist.c
intlist.h
kvm-stat.h
levenshtein.c
levenshtein.h
llvm-utils.c perf tests: Add LLVM test for eBPF on-the-fly compiling 2015-08-07 10:57:24 -03:00
llvm-utils.h perf tests: Add LLVM test for eBPF on-the-fly compiling 2015-08-07 10:57:24 -03:00
lzma.c
machine.c Merge branch 'perf/urgent' into perf/core, to pick up fixes before adding more changes 2015-08-20 11:48:56 +02:00
machine.h perf tools: Add new PERF_RECORD_SWITCH event 2015-07-23 22:51:13 -03:00
map.c perf tools: Initialize reference counts in map__clone() 2015-08-21 12:39:30 -03:00
map.h perf symbols: Introduce map__is_(kernel,kmodule)() 2015-07-23 11:28:36 -03:00
ordered-events.c perf ordered_events: Clear the progress bar at the end of a flush 2015-08-24 17:16:22 -03:00
ordered-events.h
pager.c
parse-branch-options.c
parse-branch-options.h
parse-events.c perf evsel: Add own_cpus member 2015-09-15 10:41:13 -03:00
parse-events.h perf callchain: Per-event type selection support 2015-08-12 13:20:27 -03:00
parse-events.l perf callchain: Per-event type selection support 2015-08-12 13:20:27 -03:00
parse-events.y perf tools: Fix parse_events_add_pmu caller 2015-09-02 09:58:57 -03:00
parse-options.c
parse-options.h
parse-regs-options.c perf record: Add ability to name registers to record 2015-08-31 18:01:33 -03:00
parse-regs-options.h perf record: Add ability to name registers to record 2015-08-31 18:01:33 -03:00
path.c
PERF-VERSION-GEN
perf_regs.c perf tools: Fix link time error with sample_reg_masks on non x86 2015-09-01 13:04:41 -03:00
perf_regs.h perf tools: Fix link time error with sample_reg_masks on non x86 2015-09-01 13:04:41 -03:00
pmu.c perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
pmu.h perf tools: Add perf_pmu__format_bits() 2015-08-06 16:49:01 -03:00
pmu.l
pmu.y
probe-event.c perf probe: Use existing routine to look for a kernel module by dso->short_name 2015-09-25 10:41:31 -03:00
probe-event.h perf probe: Support probing at absolute address 2015-08-26 10:41:12 -03:00
probe-file.c perf probe: Move ftrace probe-event operations to probe-file.c 2015-07-20 17:49:49 -03:00
probe-file.h perf probe: Move ftrace probe-event operations to probe-file.c 2015-07-20 17:49:49 -03:00
probe-finder.c perf probe: Support probing at absolute address 2015-08-26 10:41:12 -03:00
probe-finder.h
pstack.c
pstack.h
python-ext-sources perf stat: Move perf_counts struct and functions into separate object 2015-08-08 14:16:49 -03:00
python.c perf python: Add missing PERF_RECORD_{MMAP2,AUX,etc} 2015-07-29 10:51:45 -03:00
quote.c
quote.h
rblist.c
rblist.h
record.c perf tools: Add a helper function to probe whether cpu-wide tracing is possible 2015-08-17 11:08:37 -03:00
run-command.c
run-command.h
session.c perf record: Avoid infinite loop at buildid processing with no samples 2015-09-18 12:31:40 -03:00
session.h
setup.py
sigchain.c
sigchain.h
sort.c perf sort: Check for SRCLINE_UNKNOWN case in "srcfile" processing 2015-08-12 10:27:02 -03:00
sort.h perf report: Add support for srcfile sort key 2015-08-10 17:20:25 -03:00
srcline.c perf tools: Support full source file paths for srcline 2015-08-10 11:58:05 -03:00
stat-shadow.c perf stat: Fix transaction lenght metrics 2015-07-28 12:05:04 -03:00
stat.c perf stat: Fix per-pkg event reporting bug 2015-09-16 18:01:03 -03:00
stat.h perf stat: Move perf_counts struct and functions into separate object 2015-08-08 14:16:49 -03:00
strbuf.c
strbuf.h
strfilter.c
strfilter.h
string.c perf tools: Asprintf like functions to format integer filter expression 2015-07-06 10:21:46 -03:00
strlist.c perf strlist: Make parse_list() private 2015-07-20 14:51:07 -03:00
strlist.h perf strlist: Make parse_list() private 2015-07-20 14:51:07 -03:00
svghelper.c
svghelper.h
symbol-elf.c perf tools: Fix copying of /proc/kcore 2015-09-25 10:45:50 -03:00
symbol-minimal.c
symbol.c perf tools: Rename perf_session_env to perf_env 2015-08-28 14:53:55 -03:00
symbol.h perf tools: Rename perf_session_env to perf_env 2015-08-28 14:53:55 -03:00
target.c
target.h
thread-stack.c
thread-stack.h
thread.c perf tools: Avoid deadlock when map_groups are broken 2015-08-19 14:15:09 -03:00
thread.h
thread_map.c perf/core improvements and fixes: 2015-07-21 07:58:06 +02:00
thread_map.h
tool.h perf tools: Add new PERF_RECORD_SWITCH event 2015-07-23 22:51:13 -03:00
top.c
top.h
trace-event-info.c perf tools: Stop copying kallsyms into the perf.data file header 2015-07-23 22:51:12 -03:00
trace-event-parse.c perf tools: Stop reading the kallsyms data from perf.data 2015-07-23 22:51:11 -03:00
trace-event-read.c perf tools: Stop reading the kallsyms data from perf.data 2015-07-23 22:51:11 -03:00
trace-event-scripting.c
trace-event.c perf python: Remove dependency on 'machine' methods 2015-07-29 10:51:44 -03:00
trace-event.h perf python: Remove dependency on 'machine' methods 2015-07-29 10:51:44 -03:00
tsc.c
tsc.h
unwind-libdw.c
unwind-libdw.h
unwind-libunwind.c
unwind.h
usage.c
util.c perf tools: Bool functions shouldn't return -1 2015-09-17 15:31:52 -03:00
util.h perf tools: Add tracing_path and remove unneeded functions 2015-08-28 14:53:51 -03:00
values.c
values.h
vdso.c perf tools: Fix lockup using 32-bit compat vdso 2015-07-07 11:05:08 -03:00
vdso.h
wrapper.c
xyarray.c
xyarray.h
zlib.c