svn commit: r340726 - in head/sys/cddl: contrib/opensolaris/uts/common/sys dev/fbt/powerpc
Justin Hibbits
jhibbits at FreeBSD.org
Wed Nov 21 16:47:12 UTC 2018
Author: jhibbits
Date: Wed Nov 21 16:47:11 2018
New Revision: 340726
URL: https://svnweb.freebsd.org/changeset/base/340726
Log:
DTrace/powerpc: Fix FBT return probes
The FBT fuction boundary prober was setting one return probe marker value,
but the dtrace handler was expecting another. This causes a hang when
tracing return probes.
Modified:
head/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h
head/sys/cddl/dev/fbt/powerpc/fbt_isa.c
Modified: head/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h Wed Nov 21 14:50:45 2018 (r340725)
+++ head/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h Wed Nov 21 16:47:11 2018 (r340726)
@@ -2435,12 +2435,11 @@ extern void dtrace_helpers_destroy(proc_t *);
#elif defined(__powerpc__)
-#define DTRACE_INVOP_RET 1
-#define DTRACE_INVOP_BCTR 2
-#define DTRACE_INVOP_BLR 3
-#define DTRACE_INVOP_JUMP 4
-#define DTRACE_INVOP_MFLR_R0 5
-#define DTRACE_INVOP_NOP 6
+#define DTRACE_INVOP_BCTR 1
+#define DTRACE_INVOP_BLR 2
+#define DTRACE_INVOP_JUMP 3
+#define DTRACE_INVOP_MFLR_R0 4
+#define DTRACE_INVOP_NOP 5
#elif defined(__arm__)
Modified: head/sys/cddl/dev/fbt/powerpc/fbt_isa.c
==============================================================================
--- head/sys/cddl/dev/fbt/powerpc/fbt_isa.c Wed Nov 21 14:50:45 2018 (r340725)
+++ head/sys/cddl/dev/fbt/powerpc/fbt_isa.c Wed Nov 21 16:47:11 2018 (r340726)
@@ -221,7 +221,7 @@ again:
if (*instr == FBT_BCTR)
fbt->fbtp_rval = DTRACE_INVOP_BCTR;
else if (*instr == FBT_BLR)
- fbt->fbtp_rval = DTRACE_INVOP_RET;
+ fbt->fbtp_rval = DTRACE_INVOP_BLR;
else
fbt->fbtp_rval = DTRACE_INVOP_JUMP;
More information about the svn-src-all
mailing list