diff options
author | raf <none@none> | 2005-12-06 16:40:08 -0800 |
---|---|---|
committer | raf <none@none> | 2005-12-06 16:40:08 -0800 |
commit | 75521904d7c3dbe11337904d9bead2518c94cc50 (patch) | |
tree | 5a976ba5e738ee482077d6ab251ecd02965f164a /usr/src/uts/sparc/syscall | |
parent | ebd1706e95186ddae1d4c0d63c47544cf33832ee (diff) | |
download | illumos-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/syscall')
-rw-r--r-- | usr/src/uts/sparc/syscall/getcontext.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/usr/src/uts/sparc/syscall/getcontext.c b/usr/src/uts/sparc/syscall/getcontext.c index f13ca7eab9..1f35c963f2 100644 --- a/usr/src/uts/sparc/syscall/getcontext.c +++ b/usr/src/uts/sparc/syscall/getcontext.c @@ -19,8 +19,9 @@ * * CDDL HEADER END */ + /* - * Copyright 2003 Sun Microsystems, Inc. All rights reserved. + * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -394,13 +395,13 @@ savecontext32(ucontext32_t *ucp, k_sigset_t mask, struct fq32 *dfq) if (lwp->lwp_sigaltstack.ss_flags == SS_ONSTACK) { ucp->uc_stack.ss_sp = - (caddr32_t)lwp->lwp_sigaltstack.ss_sp; + (caddr32_t)(uintptr_t)lwp->lwp_sigaltstack.ss_sp; ucp->uc_stack.ss_size = (size32_t)lwp->lwp_sigaltstack.ss_size; ucp->uc_stack.ss_flags = SS_ONSTACK; } else { ucp->uc_stack.ss_sp = - (caddr32_t)p->p_usrstack - p->p_stksize; + (caddr32_t)(uintptr_t)p->p_usrstack - p->p_stksize; ucp->uc_stack.ss_size = (size32_t)p->p_stksize; ucp->uc_stack.ss_flags = 0; @@ -509,7 +510,7 @@ getsetcontext32(int flag, void *arg) fpp->fpu_q_entrysize <= 0 || fpp->fpu_q_entrysize > sizeof (struct fq32)) return (set_errno(EINVAL)); - if (copyin((void *)fpp->fpu_q, fpu_q, + if (copyin((void *)(uintptr_t)fpp->fpu_q, fpu_q, fpp->fpu_qcnt * fpp->fpu_q_entrysize)) return (set_errno(EFAULT)); } else { @@ -531,7 +532,7 @@ getsetcontext32(int flag, void *arg) */ gwin = kmem_zalloc(sizeof (gwindows32_t), KM_SLEEP); - if (copyin((void *)uc.uc_mcontext.gwins, + if (copyin((void *)(uintptr_t)uc.uc_mcontext.gwins, &gwin->wbcnt, sizeof (gwin->wbcnt))) { kmem_free(gwin, sizeof (gwindows32_t)); return (set_errno(EFAULT)); @@ -544,7 +545,7 @@ getsetcontext32(int flag, void *arg) SPARC_MAXREGWINDOW * sizeof (caddr32_t) + sizeof (int32_t); if (gwin_size > sizeof (gwindows32_t) || - copyin((void *)uc.uc_mcontext.gwins, + copyin((void *)(uintptr_t)uc.uc_mcontext.gwins, gwin, gwin_size)) { kmem_free(gwin, sizeof (gwindows32_t)); return (set_errno(EFAULT)); @@ -561,8 +562,7 @@ getsetcontext32(int flag, void *arg) if (xregs_hasptr32(lwp, &uc) && ((xregs_size = xregs_getsize(curproc)) > 0)) { xregs = kmem_zalloc(xregs_size, KM_SLEEP); - if (copyin((void *) - xregs_getptr32(lwp, &uc), + if (copyin((void *)(uintptr_t)xregs_getptr32(lwp, &uc), xregs, xregs_size)) { kmem_free(xregs, xregs_size); if (gwin) |