svn commit: r282703 - head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace

Justin Hibbits jhibbits at FreeBSD.org
Sun May 10 04:33:02 UTC 2015


Author: jhibbits
Date: Sun May 10 04:33:01 2015
New Revision: 282703
URL: https://svnweb.freebsd.org/changeset/base/282703

Log:
  Fix a couple bugs in 64-bit powerpc fasttrap argument retrieval.
  
  Found by code inspection.

Modified:
  head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c

Modified: head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c	Sun May 10 02:19:27 2015	(r282702)
+++ head/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c	Sun May 10 04:33:01 2015	(r282703)
@@ -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 *pro
 				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))));
 	}
 


More information about the svn-src-all mailing list