diff options
Diffstat (limited to 'tools/perf/arch/arm/util')
-rw-r--r-- | tools/perf/arch/arm/util/pmu.c | 5 | ||||
-rw-r--r-- | tools/perf/arch/arm/util/unwind-libdw.c | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/tools/perf/arch/arm/util/pmu.c b/tools/perf/arch/arm/util/pmu.c index 57dc94a6e38c..f70075c89aa0 100644 --- a/tools/perf/arch/arm/util/pmu.c +++ b/tools/perf/arch/arm/util/pmu.c @@ -18,7 +18,7 @@ void perf_pmu__arch_init(struct perf_pmu *pmu) { - struct perf_cpu_map *intersect; + struct perf_cpu_map *intersect, *online = cpu_map__online(); #ifdef HAVE_AUXTRACE_SUPPORT if (!strcmp(pmu->name, CORESIGHT_ETM_PMU_NAME)) { @@ -41,7 +41,8 @@ void perf_pmu__arch_init(struct perf_pmu *pmu) } #endif /* Workaround some ARM PMU's failing to correctly set CPU maps for online processors. */ - intersect = perf_cpu_map__intersect(cpu_map__online(), pmu->cpus); + intersect = perf_cpu_map__intersect(online, pmu->cpus); + perf_cpu_map__put(online); perf_cpu_map__put(pmu->cpus); pmu->cpus = intersect; } diff --git a/tools/perf/arch/arm/util/unwind-libdw.c b/tools/perf/arch/arm/util/unwind-libdw.c index 4e02cef461e3..fbb643f224ec 100644 --- a/tools/perf/arch/arm/util/unwind-libdw.c +++ b/tools/perf/arch/arm/util/unwind-libdw.c @@ -8,7 +8,7 @@ bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg) { struct unwind_info *ui = arg; - struct regs_dump *user_regs = &ui->sample->user_regs; + struct regs_dump *user_regs = perf_sample__user_regs(ui->sample); Dwarf_Word dwarf_regs[PERF_REG_ARM_MAX]; #define REG(r) ({ \ |