Index: linux_syscall_support.h |
=================================================================== |
--- linux_syscall_support.h (revision 26) |
+++ linux_syscall_support.h (working copy) |
@@ -2565,14 +2565,22 @@ |
#define LSS_REG(r,a) register unsigned long __r##r __asm__("$"#r) = \ |
(unsigned long)(a) |
#undef LSS_BODY |
+ #undef LSS_SYSCALL_CLOBBERS |
+ #if _MIPS_SIM == _MIPS_SIM_ABI32 |
+ #define LSS_SYSCALL_CLOBBERS "$8", "$9", "$10", "$11", "$12", \ |
Mark Seaborn
2014/07/22 18:19:37
Shouldn't this also have $1 (aka $at), $3 (aka $v1
Lei Zhang
2014/07/31 22:52:51
Done.
|
+ "$13", "$14", "$15", "$24", "$25", \ |
+ "memory" |
+ #else |
+ #define LSS_SYSCALL_CLOBBERS "$1", "3" "$10", "$11", "$12", \ |
Mark Seaborn
2014/07/22 18:19:37
Presumably should be:
"$3",
i.e. missing comma
Lei Zhang
2014/07/31 22:52:51
Done.
|
+ "$13", "$14", "$15", "$24", "$25", \ |
+ "hi", "lo", "memory" |
+ #endif |
#define LSS_BODY(type,name,r7,...) \ |
register unsigned long __v0 __asm__("$2") = __NR_##name; \ |
__asm__ __volatile__ ("syscall\n" \ |
: "+r"(__v0), r7 (__r7) \ |
: "0"(__v0), ##__VA_ARGS__ \ |
- : "$8", "$9", "$10", "$11", "$12", \ |
- "$13", "$14", "$15", "$24", "$25", \ |
- "memory"); \ |
+ : LSS_SYSCALL_CLOBBERS); \ |
LSS_RETURN(type, __v0, __r7) |
#undef _syscall0 |
#define _syscall0(type, name) \ |