All sas_ss_flags' 0 check is the same across every architecture.
But in PPC there was a bug and it was checked the other way round.

It seems a typo and is not architecture dependant, is a POSIX
standard and the QEMU way of checking it.

Now the signal.c and its sas_ss_flags check should be coherent and
correct across archs.

Signed-off-by: Alex Barcelo <abarc...@ac.upc.edu>
---
 linux-user/signal.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/linux-user/signal.c b/linux-user/signal.c
index d1a2671..d159ada 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -4122,7 +4122,7 @@ static target_ulong get_sigframe(struct target_sigaction 
*ka,
     oldsp = env->gpr[1];
 
     if ((ka->sa_flags & TARGET_SA_ONSTACK) &&
-        (sas_ss_flags(oldsp))) {
+        (sas_ss_flags(oldsp) == 0)) {
         oldsp = (target_sigaltstack_used.ss_sp
                  + target_sigaltstack_used.ss_size);
     }
-- 
1.7.5.4


Reply via email to