You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

63 lines
1.6 KiB

Description: Fix mips/mipsel syscall wrappers to return correct error values.
Author: Jurica Stanojkovic <Jurica.Stanojkovic@rt-rk.com>
Forwarded: no
Last-Update: 2012-09-24
diff -upNr a/src/syscall-mips.h b/src/syscall-mips.h
--- a/src/syscall-mips.h 2012-09-13 11:46:35.652286733 +0200
+++ b/src/syscall-mips.h 2012-09-13 16:09:17.964407909 +0200
@@ -76,7 +76,7 @@ type fname(atype a) \
\
if (__a3 == 0) \
return (type) __v0; \
- return (type) -1; \
+ return (type) 0 - __v0; \
}
#define io_syscall2(type,fname,sname,atype,a,btype,b) \
@@ -100,7 +100,7 @@ type fname(atype a, btype b) \
\
if (__a3 == 0) \
return (type) __v0; \
- return (type) -1; \
+ return (type) 0 - __v0; \
}
#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \
@@ -125,7 +125,7 @@ type fname(atype a, btype b, ctype c) \
\
if (__a3 == 0) \
return (type) __v0; \
- return (type) -1; \
+ return (type) 0 - __v0; \
}
#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \
@@ -150,7 +150,7 @@ type fname(atype a, btype b, ctype c, dt
\
if (__a3 == 0) \
return (type) __v0; \
- return (type) -1; \
+ return (type) 0 - __v0; \
}
#if (_MIPS_SIM == _MIPS_SIM_ABI32)
@@ -186,7 +186,7 @@ type fname(atype a, btype b, ctype c, dt
\
if (__a3 == 0) \
return (type) __v0; \
- return (type) -1; \
+ return (type) 0 - __v0; \
}
#endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */
@@ -216,7 +216,7 @@ type fname (atype a,btype b,ctype c,dtyp
\
if (__a3 == 0) \
return (type) __v0; \
- return (type) -1; \
+ return (type) 0 - __v0; \
}
#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */