From 45bf6d59de1dd1b051d0f6e5998a4a1fc0abab64 Mon Sep 17 00:00:00 2001 From: Justin Hibbits Date: Sun, 10 May 2015 04:33:01 +0000 Subject: Fix a couple bugs in 64-bit powerpc fasttrap argument retrieval. Found by code inspection. --- sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/cddl') diff --git a/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c b/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c index f076f5d8040e..ea01d5f44616 100644 --- a/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c +++ b/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c @@ -244,8 +244,8 @@ fasttrap_anarg(struct reg *rp, int argno) DTRACE_CPUFLAG_CLEAR(CPU_DTRACE_NOFAULT | CPU_DTRACE_BADADDR); } else { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOFAULT); - value = dtrace_fuword64((void *)(rp->fixreg[1] + 16 + - ((argno - 8) * sizeof(uint32_t)))); + value = dtrace_fuword64((void *)(rp->fixreg[1] + 48 + + ((argno - 8) * sizeof(uint64_t)))); DTRACE_CPUFLAG_CLEAR(CPU_DTRACE_NOFAULT | CPU_DTRACE_BADADDR); } return value; @@ -289,7 +289,7 @@ fasttrap_usdt_args(fasttrap_probe_t *probe, struct reg *rp, int argc, argv[i] = fuword32((void *)(rp->fixreg[1] + 8 + (x * sizeof(uint32_t)))); else - argv[i] = fuword32((void *)(rp->fixreg[1] + 16 + + argv[i] = fuword64((void *)(rp->fixreg[1] + 48 + (x * sizeof(uint64_t)))); } -- cgit v1.2.3