diff options
author | Justin Hibbits <jhibbits@FreeBSD.org> | 2015-05-10 04:33:01 +0000 |
---|---|---|
committer | Justin Hibbits <jhibbits@FreeBSD.org> | 2015-05-10 04:33:01 +0000 |
commit | 45bf6d59de1dd1b051d0f6e5998a4a1fc0abab64 (patch) | |
tree | 54a9a568d991267e564d5b0fa63ff7cabe10bdea | |
parent | 1b53f6c5a30d05e5499bd97d4a4c01154937bcf5 (diff) | |
download | src-45bf6d59de1dd1b051d0f6e5998a4a1fc0abab64.tar.gz src-45bf6d59de1dd1b051d0f6e5998a4a1fc0abab64.zip |
Fix a couple bugs in 64-bit powerpc fasttrap argument retrieval.
Found by code inspection.
Notes
Notes:
svn path=/head/; revision=282703
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c | 6 |
1 files changed, 3 insertions, 3 deletions
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)))); } |