Reviewers: danno, kisg, kalmard,

Message:
Fixed per the comments in closed issue 9298003, and re-submitting.

If this is OK, please include this fix on both the 3.7 and 3.8 release branches.

Description:
MIPS: Add signal context definitions for use with Android. (2nd try)

As with Arm, the kernel defines this stuff, but bionic lib does not.

BUG=
TEST=


Please review this at https://chromiumcodereview.appspot.com/9298016/

Affected files:
  M src/platform-linux.cc


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




--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to