From 58c5f8ba4cdf62342d05a546d15404cbbb3c4e07 Mon Sep 17 00:00:00 2001 From: "\"Steven J. Hill\"" Date: Thu, 24 May 2007 03:00:08 +0000 Subject: Fix MIPS syscall() and pipe functions to set errno correctly as reported by Daniel Jacobowitz on the mailing list. More information available at . --- libc/sysdeps/linux/mips/syscall.S | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libc/sysdeps/linux/mips/syscall.S') diff --git a/libc/sysdeps/linux/mips/syscall.S b/libc/sysdeps/linux/mips/syscall.S index d5b1cbe3c..965eeac1e 100644 --- a/libc/sysdeps/linux/mips/syscall.S +++ b/libc/sysdeps/linux/mips/syscall.S @@ -60,6 +60,16 @@ syscall: #else addiu sp,sp,32 #endif + bnez a3, 1f j ra /* Return to caller. */ +1: + move a0,v0 /* Pass return val to C function. */ + +#ifdef __PIC__ + PTR_LA t9, __syscall_error + jr t9 +#else + j __syscall_error +#endif .end syscall .size syscall,.-syscall -- cgit v1.2.3