From 7c2f6157d833cb95b355c7321597bc5a5ac976e4 Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" Date: Tue, 12 Jul 2011 14:33:23 +0300 Subject: [PATCH] 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 --- linux-user/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/main.c b/linux-user/main.c index d695610..e32f987 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; -- 2.7.4