qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 05/11] linux-user: Fix sa_flags byte swaps for mips


From: Andreas Färber
Subject: [Qemu-devel] [PATCH 05/11] linux-user: Fix sa_flags byte swaps for mips
Date: Thu, 29 Dec 2011 16:55:43 +0100

sa_flags is uint32_t for mips{,n32,64}, so don't use tswapal().

Reported-by: Khansa Butt <address@hidden>
Suggested-by: Richard Henderson <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Cc: Ehsan Ul Haq <address@hidden>
---
 linux-user/signal.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/linux-user/signal.c b/linux-user/signal.c
index ded12ca..bafbc57 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -587,7 +587,11 @@ int do_sigaction(int sig, const struct target_sigaction 
*act,
 #endif
     if (oact) {
         oact->_sa_handler = tswapal(k->_sa_handler);
+#if defined(TARGET_MIPS)
+        oact->sa_flags = bswap32(k->sa_flags);
+#else
         oact->sa_flags = tswapal(k->sa_flags);
+#endif
 #if !defined(TARGET_MIPS)
         oact->sa_restorer = tswapal(k->sa_restorer);
 #endif
@@ -596,7 +600,11 @@ int do_sigaction(int sig, const struct target_sigaction 
*act,
     if (act) {
         /* FIXME: This is not threadsafe.  */
         k->_sa_handler = tswapal(act->_sa_handler);
+#if defined(TARGET_MIPS)
+        k->sa_flags = bswap32(act->sa_flags);
+#else
         k->sa_flags = tswapal(act->sa_flags);
+#endif
 #if !defined(TARGET_MIPS)
         k->sa_restorer = tswapal(act->sa_restorer);
 #endif
-- 
1.7.7




reply via email to

[Prev in Thread] Current Thread [Next in Thread]