Revision 526ccb7a linux-user/signal.c
b/linux-user/signal.c | ||
---|---|---|
2755 | 2755 |
/* Create the ucontext. */ |
2756 | 2756 |
err |= __put_user(0, &frame->uc.uc_flags); |
2757 | 2757 |
err |= __put_user(0, (unsigned long *)&frame->uc.uc_link); |
2758 |
err |= __put_user((void *)target_sigaltstack_used.ss_sp,
|
|
2758 |
err |= __put_user((unsigned long)target_sigaltstack_used.ss_sp,
|
|
2759 | 2759 |
&frame->uc.uc_stack.ss_sp); |
2760 | 2760 |
err |= __put_user(sas_ss_flags(regs->gregs[15]), |
2761 | 2761 |
&frame->uc.uc_stack.ss_flags); |
... | ... | |
2982 | 2982 |
setup_sigcontext(&frame->sc, env); |
2983 | 2983 |
|
2984 | 2984 |
/* Move the stack and setup the arguments for the handler. */ |
2985 |
env->regs[R_SP] = (uint32_t) frame; |
|
2985 |
env->regs[R_SP] = (uint32_t) (unsigned long) frame;
|
|
2986 | 2986 |
env->regs[10] = sig; |
2987 | 2987 |
env->pc = (unsigned long) ka->_sa_handler; |
2988 | 2988 |
/* Link SRP so the guest returns through the trampoline. */ |
2989 |
env->pregs[PR_SRP] = (uint32_t) &frame->retcode[0]; |
|
2989 |
env->pregs[PR_SRP] = (uint32_t) (unsigned long) &frame->retcode[0];
|
|
2990 | 2990 |
|
2991 | 2991 |
unlock_user_struct(frame, frame_addr, 1); |
2992 | 2992 |
return; |
Also available in: Unified diff