From ca162c0888aa9eee9cc079f2be02efafc4b6d9f0 Mon Sep 17 00:00:00 2001 From: Robert Watson Date: Thu, 5 Mar 2015 07:40:41 +0000 Subject: [PATCH] Don't all DTrace's FBT on ARM to instrument undefinedinstruction(), as this would lead to DTrace reentrance. Sponsored by: DARPA, AFRL --- sys/cddl/dev/fbt/arm/fbt_isa.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/cddl/dev/fbt/arm/fbt_isa.c b/sys/cddl/dev/fbt/arm/fbt_isa.c index 99fe067cd0ad..c6bc0f04ea10 100644 --- a/sys/cddl/dev/fbt/arm/fbt_isa.c +++ b/sys/cddl/dev/fbt/arm/fbt_isa.c @@ -105,6 +105,13 @@ fbt_provide_module_function(linker_file_t lf, int symindx, if (name[0] == '_' && name[1] == '_') return (0); + /* + * Architecture-specific exclusion list, largely to do with FBT trap + * processing, to prevent reentrance. + */ + if (strcmp(name, "undefinedinstruction") == 0) + return (0); + instr = (uint32_t *)symval->value; limit = (uint32_t *)(symval->value + symval->size);