summaryrefslogtreecommitdiff
path: root/usr/src/uts/sparc/dtrace/dtrace_isa.c
diff options
context:
space:
mode:
authorraf <none@none>2005-12-06 16:40:08 -0800
committerraf <none@none>2005-12-06 16:40:08 -0800
commit75521904d7c3dbe11337904d9bead2518c94cc50 (patch)
tree5a976ba5e738ee482077d6ab251ecd02965f164a /usr/src/uts/sparc/dtrace/dtrace_isa.c
parentebd1706e95186ddae1d4c0d63c47544cf33832ee (diff)
downloadillumos-gate-75521904d7c3dbe11337904d9bead2518c94cc50.tar.gz
6309243 gcc and libproc don't get along on SPARC
6309410 gcc and SPARC-specific dtrace code don't get along 6309451 gcc and SPARC krtld don't get along 6309456 gcc and procfs don't get along on SPARC 6310667 gcc and sparc kernel don't get along 6358155 When compiled with gcc, the socal driver panic's the machine
Diffstat (limited to 'usr/src/uts/sparc/dtrace/dtrace_isa.c')
-rw-r--r--usr/src/uts/sparc/dtrace/dtrace_isa.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/usr/src/uts/sparc/dtrace/dtrace_isa.c b/usr/src/uts/sparc/dtrace/dtrace_isa.c
index 537bf8fa5d..52e6a2fdaf 100644
--- a/usr/src/uts/sparc/dtrace/dtrace_isa.c
+++ b/usr/src/uts/sparc/dtrace/dtrace_isa.c
@@ -19,6 +19,7 @@
*
* CDDL HEADER END
*/
+
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
@@ -141,7 +142,7 @@ dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, uint32_t *pc)
int delay = 0, branches = 0, taken = 0;
if (depth < pcstack_limit)
- pcstack[depth++] = (pc_t)pc;
+ pcstack[depth++] = (pc_t)(uintptr_t)pc;
/*
* Our heuristic is exactly that -- a heuristic -- and there
@@ -780,7 +781,7 @@ dtrace_getreg(struct regs *rp, uint_t reg)
value = dtrace_fulword(&fr->fr_local[reg - 16]);
DTRACE_CPUFLAG_CLEAR(CPU_DTRACE_NOFAULT);
} else {
- struct frame32 *fr = (void *)(caddr32_t)rp->r_sp;
+ struct frame32 *fr = (void *)(uintptr_t)(caddr32_t)rp->r_sp;
if (mpcb->mpcb_wbcnt > 0) {
struct rwindow32 *rwin = (void *)mpcb->mpcb_wbuf;
@@ -842,7 +843,7 @@ fake_restore:
if (cpu_core[CPU->cpu_id].cpuc_dtrace_flags & CPU_DTRACE_FAULT)
return (0);
} else {
- struct frame32 *fr = (void *)(caddr32_t)rp->r_sp;
+ struct frame32 *fr = (void *)(uintptr_t)(caddr32_t)rp->r_sp;
if (mpcb->mpcb_wbcnt > 0) {
struct rwindow32 *rwin = (void *)mpcb->mpcb_wbuf;
@@ -881,7 +882,7 @@ got_fp:
value = dtrace_fulword(&fr->fr_local[reg - 16]);
DTRACE_CPUFLAG_CLEAR(CPU_DTRACE_NOFAULT);
} else {
- struct frame32 *fr = (void *)(caddr32_t)fp;
+ struct frame32 *fr = (void *)(uintptr_t)(caddr32_t)fp;
if (mpcb->mpcb_wbcnt > 0) {
struct rwindow32 *rwin = (void *)mpcb->mpcb_wbuf;