]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
arm64 does not implement fork syscall. Use clone instead
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Sat, 9 Aug 2014 21:51:45 +0000 (21:51 +0000)
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Sat, 9 Aug 2014 21:51:45 +0000 (21:51 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14253

coregrind/m_libcproc.c

index 41bca8381a1f8be54993d0d0c98cf03504c1d696..b3580fc6891a0c52385fcea9f9848d9e69f5a150 100644 (file)
@@ -589,7 +589,15 @@ Int VG_(ptrace) ( Int request, Int pid, void *addr, void *data )
 
 Int VG_(fork) ( void )
 {
-#  if defined(VGO_linux)
+#  if defined(VGP_arm64_linux)
+   SysRes res;
+   res = VG_(do_syscall5)(__NR_clone, VKI_SIGCHLD,
+                          (UWord)NULL, (UWord)NULL, (UWord)NULL, (UWord)NULL);
+   if (sr_isError(res))
+      return -1;
+   return sr_Res(res);
+
+#  elif defined(VGO_linux)
    SysRes res;
    res = VG_(do_syscall0)(__NR_fork);
    if (sr_isError(res))