Revision: 11328 Author: [email protected] Date: Mon Apr 16 03:42:39 2012 Log: Provide structures from <ucontext.h> for Android.
Patch from Ben Murdoch <[email protected]>. Review URL: https://chromiumcodereview.appspot.com/10001005 http://code.google.com/p/v8/source/detail?r=11328 Modified: /branches/bleeding_edge/src/platform-linux.cc ======================================= --- /branches/bleeding_edge/src/platform-linux.cc Fri Apr 13 07:08:31 2012 +++ /branches/bleeding_edge/src/platform-linux.cc Mon Apr 16 03:42:39 2012 @@ -964,6 +964,46 @@ __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
