// This library is built for all targets, including host tests, so __cfi_slowpath may not be // present. But it is only used in the bionic loader tests. extern"C" __attribute__((weak)) void __cfi_slowpath(uint64_t, void*);
// Check that CFI is set up in module constructors and destructors. struct A { void check_cfi_self() {
g_last_type_id = 0;
assert(&__cfi_slowpath); // CFI check for an address inside this DSO. This goes to the current module's __cfi_check, // which updates g_last_type_id.
__cfi_slowpath(13, static_cast<void*>(&g_last_type_id));
assert(g_last_type_id == 13); // CFI check for a libc function. This never goes into this module's __cfi_check, and must pass.
__cfi_slowpath(14, reinterpret_cast<void*>(&exit));
assert(g_last_type_id == 13);
}
A() {
check_cfi_self();
}
~A() {
check_cfi_self();
}
} a;
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-06-28)
¤
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.