if (maps__addr_space(maps)) {
pr_debug("unwind: thread map already set, dso=%s\n", dso__name(dso)); if (initialized)
*initialized = true; return0;
}
machine = maps__machine(maps); /* env->arch is NULL for live-mode (i.e. perf top) */ if (!machine->env || !machine->env->arch) goto out_register;
dso_type = dso__type(dso, machine); if (dso_type == DSO__TYPE_UNKNOWN) return0;
arch = perf_env__arch(machine->env);
if (!strcmp(arch, "x86")) { if (dso_type != DSO__TYPE_64BIT)
ops = x86_32_unwind_libunwind_ops;
} elseif (!strcmp(arch, "arm64") || !strcmp(arch, "arm")) { if (dso_type == DSO__TYPE_64BIT)
ops = arm64_unwind_libunwind_ops;
}
if (!ops) {
pr_warning_once("unwind: target platform=%s is not supported\n", arch); return0;
}
out_register:
maps__set_unwind_libunwind_ops(maps, ops);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.