Commit 44516ce7 authored by ulan@chromium.org's avatar ulan@chromium.org

Provide structures from <ucontext.h> for Android.

Patch from Ben Murdoch <benm@chromium.org>.

Review URL: https://chromiumcodereview.appspot.com/10001005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 17632e44
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment