mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 12:52:29 -04:00
perf script: Fix script_fetch_insn for more than just x86
The script_fetch_insn code was only supported on natively running x86. Implement a crude elf_machine_max_instruction_length function and use to give an instruction length on more than just x86. Use the ELF machine to determine the length to use to support cross-architecture development. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@linaro.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Leo Yan <leo.yan@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Shimin Guo <shimin.guo@skydio.com> Cc: Yujie Liu <yujie.liu@intel.com> [ Conditionally define EM_CSKY and EM_LOONGARCH for older distros ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
0a6fb66047
commit
7ce6dfc603
@@ -93,7 +93,7 @@ static PyObject *perf_sample_insn(PyObject *obj, PyObject *args)
|
||||
if (c->sample->ip && !c->sample->insn_len && thread__maps(c->al->thread)) {
|
||||
struct machine *machine = maps__machine(thread__maps(c->al->thread));
|
||||
|
||||
script_fetch_insn(c->sample, c->al->thread, machine, /*native_arch=*/true);
|
||||
perf_sample__fetch_insn(c->sample, c->al->thread, machine);
|
||||
}
|
||||
if (!c->sample->insn_len)
|
||||
Py_RETURN_NONE; /* N.B. This is a return statement */
|
||||
|
||||
Reference in New Issue
Block a user