mirror of https://github.com/xqemu/xqemu.git
linux-user: Fix sa_flags byte swaps for mips
sa_flags is uint32_t for mips{,n32,64}, so don't use tswapal(). edited by Riku Voipio: likewise on alpha Reported-by: Khansa Butt <khansa@kics.edu.pk> Suggested-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Andreas Färber <afaerber@suse.de> Cc: Ehsan Ul Haq <ehsan.ulhaq@kics.edu.pk> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
parent
2aeb36a897
commit
f78b0f0541
|
@ -587,7 +587,11 @@ int do_sigaction(int sig, const struct target_sigaction *act,
|
||||||
#endif
|
#endif
|
||||||
if (oact) {
|
if (oact) {
|
||||||
oact->_sa_handler = tswapal(k->_sa_handler);
|
oact->_sa_handler = tswapal(k->_sa_handler);
|
||||||
|
#if defined(TARGET_MIPS) || defined (TARGET_ALPHA)
|
||||||
|
oact->sa_flags = bswap32(k->sa_flags);
|
||||||
|
#else
|
||||||
oact->sa_flags = tswapal(k->sa_flags);
|
oact->sa_flags = tswapal(k->sa_flags);
|
||||||
|
#endif
|
||||||
#if !defined(TARGET_MIPS)
|
#if !defined(TARGET_MIPS)
|
||||||
oact->sa_restorer = tswapal(k->sa_restorer);
|
oact->sa_restorer = tswapal(k->sa_restorer);
|
||||||
#endif
|
#endif
|
||||||
|
@ -596,7 +600,11 @@ int do_sigaction(int sig, const struct target_sigaction *act,
|
||||||
if (act) {
|
if (act) {
|
||||||
/* FIXME: This is not threadsafe. */
|
/* FIXME: This is not threadsafe. */
|
||||||
k->_sa_handler = tswapal(act->_sa_handler);
|
k->_sa_handler = tswapal(act->_sa_handler);
|
||||||
|
#if defined(TARGET_MIPS) || defined (TARGET_ALPHA)
|
||||||
|
k->sa_flags = bswap32(act->sa_flags);
|
||||||
|
#else
|
||||||
k->sa_flags = tswapal(act->sa_flags);
|
k->sa_flags = tswapal(act->sa_flags);
|
||||||
|
#endif
|
||||||
#if !defined(TARGET_MIPS)
|
#if !defined(TARGET_MIPS)
|
||||||
k->sa_restorer = tswapal(act->sa_restorer);
|
k->sa_restorer = tswapal(act->sa_restorer);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue