|
From: <sv...@va...> - 2014-08-09 21:51:51
|
Author: philippe
Date: Sat Aug 9 21:51:45 2014
New Revision: 14253
Log:
arm64 does not implement fork syscall. Use clone instead
Modified:
trunk/coregrind/m_libcproc.c
Modified: trunk/coregrind/m_libcproc.c
==============================================================================
--- trunk/coregrind/m_libcproc.c (original)
+++ trunk/coregrind/m_libcproc.c Sat Aug 9 21:51:45 2014
@@ -589,7 +589,15 @@
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))
|