sparc64 syscall fix (Blue Swirl) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2199 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/linux-user/main.c b/linux-user/main.c index 53bf1bb..38e94d2 100644 --- a/linux-user/main.c +++ b/linux-user/main.c
@@ -559,10 +559,18 @@ env->regwptr[2], env->regwptr[3], env->regwptr[4], env->regwptr[5]); if ((unsigned int)ret >= (unsigned int)(-515)) { +#ifdef TARGET_SPARC64 + env->xcc |= PSR_CARRY; +#else env->psr |= PSR_CARRY; +#endif ret = -ret; } else { +#ifdef TARGET_SPARC64 + env->xcc &= ~PSR_CARRY; +#else env->psr &= ~PSR_CARRY; +#endif } env->regwptr[0] = ret; /* next instruction */