Reviewers: Yang,

Description:
Merged r11559 into 3.10 branch.

Fix ucontext structure for Android on x86

Original CL: https://chromiumcodereview.appspot.com/10310116

[email protected]


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

SVN Base: https://v8.googlecode.com/svn/branches/3.10

Affected files:
  M src/platform-linux.cc
  M src/version.cc


Index: src/platform-linux.cc
diff --git a/src/platform-linux.cc b/src/platform-linux.cc
index 5c05a3ad662af0d4db1ed0c8f2c4e2d4881e2a88..f6db423e4276a4c22bf767629980f8ceb39733f1 100644
--- a/src/platform-linux.cc
+++ b/src/platform-linux.cc
@@ -966,43 +966,22 @@ typedef struct ucontext {

 #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;
+struct sigcontext {
+  uint32_t gregs[19];
+  void* fpregs;
+  uint32_t oldmask;
+  uint32_t cr2;
 };

-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 uint32_t __sigset_t;
+typedef struct sigcontext mcontext_t;
 typedef struct ucontext {
-  uint64_t uc_flags;
-  struct ucontext *uc_link;
+  uint32_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

Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 0295afa3c2df939f9dcf57011a2ca8a4ccc3d6ac..5cb67106b00db4276c191cb6be06f8ae25158898 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     10
 #define BUILD_NUMBER      8
-#define PATCH_LEVEL       6
+#define PATCH_LEVEL       7
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0


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

Reply via email to