Chromium Code Reviews| Index: linux_syscall_support.h |
| =================================================================== |
| --- linux_syscall_support.h (revision 28) |
| +++ linux_syscall_support.h (working copy) |
| @@ -2566,6 +2566,7 @@ |
| #define LSS_REG(r,a) register unsigned long __r##r __asm__("$"#r) = \ |
| (unsigned long)(a) |
| #undef LSS_BODY |
| + #if _MIPS_SIM == _MIPS_SIM_ABI32 |
| #define LSS_BODY(type,name,r7,...) \ |
| register unsigned long __v0 __asm__("$2") = __NR_##name; \ |
| __asm__ __volatile__ ("syscall\n" \ |
| @@ -2575,6 +2576,16 @@ |
| "$13", "$14", "$15", "$24", "$25", \ |
| "memory"); \ |
| LSS_RETURN(type, __v0, __r7) |
| + #else |
| + #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__ \ |
| + : "$10", "$11", "$12", "$13", "$14", \ |
|
Mark Seaborn
2014/07/12 23:58:08
So, you're only changing the list of clobbered reg
Lei Zhang
2014/07/14 19:39:28
Disclaimer: I've never worked on this before. So i
petarj
2014/07/16 02:23:24
breakpad does not support mips64 yet.
Lei Zhang
2014/07/16 23:42:07
Done.
|
| + "$15", "$24", "$25", "memory"); \ |
| + LSS_RETURN(type, __v0, __r7) |
| + #endif |
| #undef _syscall0 |
| #define _syscall0(type, name) \ |
| type LSS_NAME(name)(void) { \ |