diff options
| author | Alex Barcelo | 2012-02-10 00:55:46 +0100 |
|---|---|---|
| committer | Alexander Graf | 2012-03-15 13:12:10 +0100 |
| commit | 32a2003af9cb0cb11b3992fd3248cb89752c53e9 (patch) | |
| tree | 5abe6db595501da363dad4a7152db86e7f489b25 /linux-user | |
| parent | target-lm32/microblaze: Drop second CPU{LM32, MB}State typedef (diff) | |
| download | qemu-32a2003af9cb0cb11b3992fd3248cb89752c53e9.tar.gz qemu-32a2003af9cb0cb11b3992fd3248cb89752c53e9.tar.xz qemu-32a2003af9cb0cb11b3992fd3248cb89752c53e9.zip | |
Bad zero comparison for sas_ss_flags on powerpc
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>
Diffstat (limited to 'linux-user')
| -rw-r--r-- | 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 fca51e2b11..b1e139d6fd 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); } |
