Use different syscall constants on Android
authorsgjesse@chromium.org <sgjesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 22 Mar 2011 14:11:08 +0000 (14:11 +0000)
committersgjesse@chromium.org <sgjesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 22 Mar 2011 14:11:08 +0000 (14:11 +0000)
Review URL: http://codereview.chromium.org/6716021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/platform-linux.cc

index 7590ad0..14f0db5 100644 (file)
@@ -812,7 +812,11 @@ enum ArmRegisters {R15 = 15, R13 = 13, R11 = 11};
 
 static int GetThreadID() {
   // Glibc doesn't provide a wrapper for gettid(2).
+#if defined(ANDROID)
+  return syscall(__NR_gettid);
+#else
   return syscall(SYS_gettid);
+#endif
 }
 
 
@@ -979,7 +983,11 @@ class SignalSender : public Thread {
   void SendProfilingSignal(int tid) {
     if (!signal_handler_installed_) return;
     // Glibc doesn't provide a wrapper for tgkill(2).
+#if defined(ANDROID)
+    syscall(__NR_tgkill, vm_tgid_, tid, SIGPROF);
+#else
     syscall(SYS_tgkill, vm_tgid_, tid, SIGPROF);
+#endif
   }
 
   void Sleep(SleepInterval full_or_half) {