Commit 0e0624c0 authored by ulan@chromium.org's avatar ulan@chromium.org

Enable x64 build for Android

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/209323004

Patch from Yang Gu <yang.gu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 8311e24c
......@@ -184,6 +184,11 @@
'-L<(android_stlport_libs)/x86',
],
}],
['target_arch=="x64"', {
'ldflags': [
'-L<(android_stlport_libs)/x86_64',
],
}],
['target_arch=="arm64"', {
'ldflags': [
'-L<(android_stlport_libs)/arm64-v8a',
......@@ -252,8 +257,15 @@
}], # _toolset=="target"
# Settings for building host targets using the system toolchain.
['_toolset=="host"', {
'cflags': [ '-m32', '-pthread' ],
'ldflags': [ '-m32', '-pthread' ],
'conditions': [
['target_arch=="x64"', {
'cflags': [ '-m64', '-pthread' ],
'ldflags': [ '-m64', '-pthread' ],
}, {
'cflags': [ '-m32', '-pthread' ],
'ldflags': [ '-m32', '-pthread' ],
}],
],
'ldflags!': [
'-Wl,-z,noexecstack',
'-Wl,--gc-sections',
......
......@@ -159,6 +159,23 @@ typedef struct ucontext {
// Other fields are not used by V8, don't define them here.
} ucontext_t;
enum { REG_EBP = 6, REG_ESP = 7, REG_EIP = 14 };
#elif defined(__x86_64__)
// x64 version for Android.
typedef struct {
uint64_t gregs[23];
void* fpregs;
uint64_t __reserved1[8];
} mcontext_t;
typedef struct ucontext {
uint64_t uc_flags;
struct ucontext *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
// Other fields are not used by V8, don't define them here.
} ucontext_t;
enum { REG_RBP = 10, REG_RSP = 15, REG_RIP = 16 };
#endif
#endif // V8_OS_ANDROID && !defined(__BIONIC_HAVE_UCONTEXT_T)
......
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