Index: sys/cddl/dev/fbt/arm/fbt_isa.c =================================================================== --- sys/cddl/dev/fbt/arm/fbt_isa.c +++ sys/cddl/dev/fbt/arm/fbt_isa.c @@ -95,18 +95,18 @@ uint32_t *instr, *limit; int popm; - if (strncmp(name, "dtrace_", 7) == 0 && - strncmp(name, "dtrace_safe_", 12) != 0) { - /* - * Anything beginning with "dtrace_" may be called - * from probe context unless it explicitly indicates - * that it won't be called from probe context by - * using the prefix "dtrace_safe_". - */ + /* Check if function is excluded from instrumentation */ + if (fbt_excluded(name)) + return (0); + + /* + * Architecture-specific exclusion list; largely to prevent reentrance + * with FBT trap processing. + */ + if (strcmp(name, "undefinedinstruction") == 0) return (0); - } - if (name[0] == '_' && name[1] == '_') + if (strcmp(name, "nanouptime") == 0) return (0); instr = (uint32_t *)symval->value;