From: Wesley W. Terpstra Date: Tue, 12 Jul 2011 11:33:23 +0000 (+0300) Subject: mips: missing syscall returns wrong errno X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7c2f6157d833cb95b355c7321597bc5a5ac976e4;p=qemu.git mips: missing syscall returns wrong errno Return -TARGET_ENOSYS instead of -ENOSYS from linux-user/main.c * Caused strange 'Level 2 synchronization messages' instead of correctly reporting the syscall was missing. * Made glibc simply fail instead of using older syscalls Signed-off-by: Riku Voipio Signed-off-by: Wesley W. Terpstra --- diff --git a/linux-user/main.c b/linux-user/main.c index d695610349..e32f987786 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -2080,7 +2080,7 @@ void cpu_loop(CPUMIPSState *env) syscall_num = env->active_tc.gpr[2] - 4000; env->active_tc.PC += 4; if (syscall_num >= sizeof(mips_syscall_args)) { - ret = -ENOSYS; + ret = -TARGET_ENOSYS; } else { int nb_args; abi_ulong sp_reg;