void arch__fix_tev_from_maps(struct perf_probe_event *pev, struct probe_trace_event *tev, struct map *map, struct symbol *sym)
{ int lep_offset;
/* * When probing at a function entry point, we normally always want the * LEP since that catches calls to the function through both the GEP and * the LEP. Hence, we would like to probe at an offset of 8 bytes if * the user only specified the function entry. * * However, if the user specifies an offset, we fall back to using the * GEP since all userspace applications (objdump/readelf) show function * disassembly with offsets from the GEP.
*/ if (pev->point.offset || !map || !sym) return;
/* For kretprobes, add an offset only if the kernel supports it */ if (!pev->uprobes && pev->point.retprobe) { #ifdef HAVE_LIBELF_SUPPORT if (!kretprobe_offset_is_supported()) #endif return;
}
for (i = 0; i < ntevs; i++) {
tev = &pev->tevs[i];
map__for_each_symbol(map, sym, tmp) { if (map__unmap_ip(map, sym->start) == tev->point.address) {
arch__fix_tev_from_maps(pev, tev, map, sym); break;
}
}
}
} #endif/* HAVE_LIBELF_SUPPORT */
#endif
Messung V0.5 in Prozent
¤ 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.0.0Bemerkung:
(vorverarbeitet am 2026-06-07)
¤
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.