linux/tools/perf
David Ahern d327fa4359 perf tools: handle endianness of feature bitmap
Feature bitmap is declared as an array of unsigned longs -- not good
since its size can differ between the host that generated the data file
and the host analyzing the file.

We need to handle endianness, but we don't know the size of the unsigned
long where the file was generated. Take a best guess at determining it:
try 64-bit swap first (ie., file created on a 64-bit host), and check if
the hostname feature bit is set (this feature bit is forced on as of
fbe96f2).  If the bit is not, undo the 64-bit swap and try a 32-bit
swap. If the hostname bit is still not set (e.g., older data file), punt
and fallback to the original behavior -- clearing all feature bits and
setting buildid.

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1318980841-12616-1-git-send-email-dsahern@gmail.com
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2011-10-19 13:14:35 -02:00
..
arch perf tools: Make perf.data more self-descriptive (v8) 2011-10-07 17:01:24 -03:00
bench
config perf tools: git mv tools/perf/{features-tests.mak,config/} 2011-04-19 08:18:36 -03:00
Documentation perf ui browser: Make the colors configurable and change the defaults 2011-10-18 17:03:32 -02:00
python
scripts perf script: Add drop monitor script 2011-09-29 16:41:37 -03:00
util perf tools: handle endianness of feature bitmap 2011-10-19 13:14:35 -02:00
.gitignore
builtin-annotate.c perf tools: Make --no-asm-raw the default 2011-10-07 17:01:32 -03:00
builtin-bench.c
builtin-buildid-cache.c
builtin-buildid-list.c perf buildid-list: Support showing the build id in an ELF file 2011-09-29 16:41:37 -03:00
builtin-diff.c perf hists: Allow limiting the number of rows and columns in fprintf 2011-10-07 12:11:49 -03:00
builtin-evlist.c
builtin-help.c
builtin-inject.c
builtin-kmem.c
builtin-kvm.c
builtin-list.c
builtin-lock.c perf lock: Dropping unsupported ':r' modifier 2011-08-08 09:41:35 -03:00
builtin-probe.c perf probe: Warn when more than one line are given 2011-08-12 09:27:11 -03:00
builtin-record.c perf tools: Make perf.data more self-descriptive (v8) 2011-10-07 17:01:24 -03:00
builtin-report.c perf tools: Make --no-asm-raw the default 2011-10-07 17:01:32 -03:00
builtin-sched.c perf sched: Usage leftover from trace -> script rename 2011-08-09 13:32:12 -03:00
builtin-script.c perf tools: Make perf.data more self-descriptive (v8) 2011-10-07 17:01:24 -03:00
builtin-stat.c perf tools: Make stat/record print fatal signals of the target program 2011-09-29 17:09:46 -03:00
builtin-test.c perf tool: Fix endianness handling of u32 data in samples 2011-09-23 14:37:27 -03:00
builtin-timechart.c
builtin-top.c perf top: Fix the 'E' hotkey, select among multiple events 2011-10-17 09:10:24 -02:00
builtin.h perf tools: Make perf.data more self-descriptive (v8) 2011-10-07 17:01:24 -03:00
command-list.txt
CREDITS
design.txt
Makefile perf top: Reuse the 'report' hist_entry/hists classes 2011-10-07 16:56:44 -03:00
MANIFEST
perf-archive.sh
perf.c perf ui browser: Handle SIGWINCH 2011-10-13 08:52:46 -03:00
perf.h perf ui browser: Handle SIGWINCH 2011-10-13 08:52:46 -03:00