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