Index: src/platform-linux.cc |
diff --git a/src/platform-linux.cc b/src/platform-linux.cc |
index 6f64f2d31c4873d542fe448c00b386ba2e0f67ee..537637ccee41c8151e8812b2ba0731e64ef962bf 100644 |
--- a/src/platform-linux.cc |
+++ b/src/platform-linux.cc |
@@ -944,6 +944,38 @@ typedef struct ucontext { |
} ucontext_t; |
enum ArmRegisters {R15 = 15, R13 = 13, R11 = 11}; |
+#elif !defined(__GLIBC__) && defined(__mips__) |
+// MIPS version of sigcontext, for Android bionic. |
+struct sigcontext { |
+ uint32_t regmask; |
+ uint32_t status; |
+ uint64_t pc; |
+ uint64_t gregs[32]; |
+ uint64_t fpregs[32]; |
+ uint32_t acx; |
+ uint32_t fpc_csr; |
+ uint32_t fpc_eir; |
+ uint32_t used_math; |
+ uint32_t dsp; |
+ uint64_t mdhi; |
+ uint64_t mdlo; |
+ uint32_t hi1; |
+ uint32_t lo1; |
+ uint32_t hi2; |
+ uint32_t lo2; |
+ uint32_t hi3; |
+ uint32_t lo3; |
+}; |
+typedef uint32_t __sigset_t; |
+typedef struct sigcontext mcontext_t; |
+typedef struct ucontext { |
+ uint32_t uc_flags; |
+ struct ucontext* uc_link; |
+ stack_t uc_stack; |
+ mcontext_t uc_mcontext; |
+ __sigset_t uc_sigmask; |
+} ucontext_t; |
+ |
#endif |