From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32908) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X73fI-0005hE-CR for qemu-devel@nongnu.org; Tue, 15 Jul 2014 10:25:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X73fA-0007X9-Sk for qemu-devel@nongnu.org; Tue, 15 Jul 2014 10:25:08 -0400 Received: from [2001:4b98:dc0:45:216:3eff:fe3d:166f] (port=52394 helo=afflict.kos.to) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X73fA-0007Ww-Ly for qemu-devel@nongnu.org; Tue, 15 Jul 2014 10:25:00 -0400 From: riku.voipio@linaro.org Date: Tue, 15 Jul 2014 17:24:57 +0300 Message-Id: In-Reply-To: References: Subject: [Qemu-devel] [PULL for-2.1 5/5] linux-user: use TARGET_SA_ONSTACK in get_sigframe List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Riku Voipio From: Riku Voipio 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 Signed-off-by: Riku Voipio --- linux-user/signal.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/linux-user/signal.c b/linux-user/signal.c index f3b4378..1141054 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -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; } -- 2.0.0