Reviewers: benm,
Message:
Please take a look.
Description:
Provide structures from <ucontext.h> for Android.
Patch from Ben Murdoch <[email protected]>.
Please review this at https://chromiumcodereview.appspot.com/10001005/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
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
bed069dfb79283280a9e50f4c5e247b258d5ca1e..c96b7538c7ab110120db56488850394d8323ed76
100644
--- a/src/platform-linux.cc
+++ b/src/platform-linux.cc
@@ -964,6 +964,46 @@ typedef struct ucontext {
__sigset_t uc_sigmask;
} ucontext_t;
+#elif !defined(__GLIBC) && defined(__i386__)
+// x86 version for Android.
+struct _libc_fpreg {
+ uint16_t significand[4];
+ uint16_t exponent;
+};
+
+struct _libc_fpstate {
+ uint64_t cw;
+ uint64_t sw;
+ uint64_t tag;
+ uint64_t ipoff;
+ uint64_t cssel;
+ uint64_t dataoff;
+ uint64_t datasel;
+ struct _libc_fpreg _st[8];
+ uint64_t status;
+};
+
+typedef struct _libc_fpstate *fpregset_t;
+
+typedef struct mcontext {
+ int32_t gregs[19];
+ fpregset_t fpregs;
+ int64_t oldmask;
+ int64_t cr2;
+} mcontext_t;
+
+typedef uint64_t __sigset_t;
+
+typedef struct ucontext {
+ uint64_t uc_flags;
+ struct ucontext *uc_link;
+ stack_t uc_stack;
+ mcontext_t uc_mcontext;
+ __sigset_t uc_sigmask;
+ struct _libc_fpstate __fpregs_mem;
+} ucontext_t;
+
+enum { REG_EBP = 6, REG_ESP = 7, REG_EIP = 14 };
#endif
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev