[01/16] Bad zero comparison for sas_ss_flags on powerpc

Message ID 1331813662-15141-2-git-send-email-agraf@suse.de
State New
Headers show

Commit Message

Alexander Graf March 15, 2012, 12:14 p.m.
From: Alex Barcelo <abarcelo@ac.upc.edu>

All architectures work the same way, and all check for sas_ss_flags ==
0. The powerpc lines are wrong, and do the check the other way round
(it's a qemu internal check, which is done wrong only for this
architecture, it's more a typo than a bug). It's NOT ppc specific,
it's POSIX standard (sigaltstack) and qemu internal.

I have a test source that I will send in a follow-up (it's longer than
I would have wished, I'm sure that a better test case can be written
if needed)

Signed-off-by: Alex Barcelo <abarcelo@ac.upc.edu>
Signed-off-by: Alexander Graf <agraf@suse.de>
 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 fca51e2..b1e139d 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -4118,7 +4118,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);