From: Laurent Vivier Date: Fri, 24 Jul 2020 06:45:06 +0000 (+0100) Subject: linux-user, ppc: fix clock_nanosleep() for linux-user-ppc X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=445883885a3507e3a0898df0084a59ba65ee9979;p=qemu.git linux-user, ppc: fix clock_nanosleep() for linux-user-ppc Our safe_clock_nanosleep() returns -1 and updates errno. We don't need to update the CRF bit in syscall.c because it will be updated in ppc/cpu_loop.c as the return value is negative. Signed-off-by: Laurent Vivier Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200722174612.2917566-3-laurent@vivier.eu> Message-Id: <20200724064509.331-14-alex.bennee@linaro.org> --- diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 43a6e28396..f5c4f6b95d 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -11840,13 +11840,6 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, host_to_target_timespec(arg4, &ts); } -#if defined(TARGET_PPC) - /* clock_nanosleep is odd in that it returns positive errno values. - * On PPC, CR0 bit 3 should be set in such a situation. */ - if (ret && ret != -TARGET_ERESTARTSYS) { - ((CPUPPCState *)cpu_env)->crf[0] |= 1; - } -#endif return ret; } #endif