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
This commit is contained in:
parent
17632e447c
commit
44516ce7d7
@ -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
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user