Verified Commit 50f78f56 authored by Ramon Nou's avatar Ramon Nou Committed by Marc Vef
Browse files

Adding $GKFS_PRLD env, and clone pathc

parent a02ce011
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -84,3 +84,6 @@ to I/O, which reduces interferences and improves performance."""
        """Run tests"""
        with working_dir(self.build_directory):
            make('test', parallel=False)

    def setup_run_environment(self, env): 
        env.set('GKFS_PRLD', join_path(self.prefix.lib, 'libgkfs_intercept.so'))
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ class SyscallIntercept(CMakePackage):

    with when('@x86'):
        patch('syscall-intercept.patch')
        patch('syscall-intercept-clone.patch')

    @property
    def root_cmakelists_dir(self):
+17 −0
Original line number Diff line number Diff line
diff --git a/src/intercept.c b/src/intercept.c
index 41fd95d..c0cd865 100644
--- a/src/intercept.c
+++ b/src/intercept.c
@@ -689,7 +689,12 @@ intercept_routine(struct context *context)
 		 * the clone_child_intercept_routine instead, executing
 		 * it on the new child threads stack, then returns to libc.
 		 */
+#ifdef SYS_clone3
+		if ((desc.nr == SYS_clone || desc.nr == SYS_clone3) &&
+				desc.args[1] != 0)
+#else
 		if (desc.nr == SYS_clone && desc.args[1] != 0)
+#endif
 			return (struct wrapper_ret){
 				.rax = context->rax, .rdx = 2 };
 		else