Revision: 20206
Author:   u...@chromium.org
Date:     Mon Mar 24 15:56:35 2014 UTC
Log:      Enable x64 build for Android

BUG=
R=u...@chromium.org

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

Patch from Yang Gu <yang...@intel.com>.
http://code.google.com/p/v8/source/detail?r=20206

Modified:
 /branches/bleeding_edge/build/android.gypi
 /branches/bleeding_edge/src/sampler.cc

=======================================
--- /branches/bleeding_edge/build/android.gypi  Mon Mar 24 13:00:01 2014 UTC
+++ /branches/bleeding_edge/build/android.gypi  Mon Mar 24 15:56:35 2014 UTC
@@ -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',
=======================================
--- /branches/bleeding_edge/src/sampler.cc      Fri Mar 21 09:28:26 2014 UTC
+++ /branches/bleeding_edge/src/sampler.cc      Mon Mar 24 15:56:35 2014 UTC
@@ -159,6 +159,23 @@
   // 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)

--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to