diff options
author | Justin Hibbits <jhibbits@FreeBSD.org> | 2018-11-21 16:47:11 +0000 |
---|---|---|
committer | Justin Hibbits <jhibbits@FreeBSD.org> | 2018-11-21 16:47:11 +0000 |
commit | cfebc0faa7cf1377d7c419e9e2ce889f43ffb68b (patch) | |
tree | f32674d9bd5712d9a0c6b00979c24ac92ca1fbeb | |
parent | 0161256ccc89660285140ea2056441ec8e882831 (diff) | |
download | src-cfebc0faa7cf1377d7c419e9e2ce889f43ffb68b.tar.gz src-cfebc0faa7cf1377d7c419e9e2ce889f43ffb68b.zip |
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.
Notes
Notes:
svn path=/head/; revision=340726
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h | 11 | ||||
-rw-r--r-- | sys/cddl/dev/fbt/powerpc/fbt_isa.c | 2 |
2 files changed, 6 insertions, 7 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h b/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h index efbf36e86339..b474f91ce01d 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h +++ b/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h @@ -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__) diff --git a/sys/cddl/dev/fbt/powerpc/fbt_isa.c b/sys/cddl/dev/fbt/powerpc/fbt_isa.c index 6072737fa1e2..8843e2aafe12 100644 --- a/sys/cddl/dev/fbt/powerpc/fbt_isa.c +++ b/sys/cddl/dev/fbt/powerpc/fbt_isa.c @@ -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; |