linux-user: use TARGET_SA_ONSTACK in get_sigframe
As reported by Laurent, which should use TARGET_SA_ONSTACK on arm, microblaze and openrisc targets like we do on all others. Practical matter is minimal as for almost all archs SA_ONSTACK is 0x08000000: http://lxr.free-electrons.com/ident?i=SA_ONSTACK Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
parent
2dd08dfd9a
commit
b545f63fa9
@ -1305,7 +1305,7 @@ static abi_ulong get_sigframe(struct target_sigaction *ka, CPUARMState *env)
|
||||
/*
|
||||
* This is the X/Open sanctioned signal stack switching.
|
||||
*/
|
||||
if ((ka->sa_flags & SA_ONSTACK) && !sas_ss_flags(sp)) {
|
||||
if ((ka->sa_flags & TARGET_SA_ONSTACK) && !sas_ss_flags(sp)) {
|
||||
sp = target_sigaltstack_used.ss_sp + target_sigaltstack_used.ss_size;
|
||||
}
|
||||
|
||||
@ -3509,8 +3509,9 @@ static abi_ulong get_sigframe(struct target_sigaction *ka,
|
||||
{
|
||||
abi_ulong sp = env->regs[1];
|
||||
|
||||
if ((ka->sa_flags & SA_ONSTACK) != 0 && !on_sig_stack(sp))
|
||||
if ((ka->sa_flags & TARGET_SA_ONSTACK) != 0 && !on_sig_stack(sp)) {
|
||||
sp = target_sigaltstack_used.ss_sp + target_sigaltstack_used.ss_size;
|
||||
}
|
||||
|
||||
return ((sp - frame_size) & -8UL);
|
||||
}
|
||||
@ -3891,7 +3892,7 @@ static inline abi_ulong get_sigframe(struct target_sigaction *ka,
|
||||
|
||||
/* redzone */
|
||||
/* This is the X/Open sanctioned signal stack switching. */
|
||||
if ((ka->sa_flags & SA_ONSTACK) != 0 && !onsigstack) {
|
||||
if ((ka->sa_flags & TARGET_SA_ONSTACK) != 0 && !onsigstack) {
|
||||
sp = target_sigaltstack_used.ss_sp + target_sigaltstack_used.ss_size;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user