Loading scripts/spack/packages/gekkofs/package.py +3 −0 Original line number Diff line number Diff line Loading @@ -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')) scripts/spack/packages/syscall-intercept/package.py +1 −0 Original line number Diff line number Diff line Loading @@ -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): Loading scripts/spack/packages/syscall-intercept/syscall-intercept-clone.patch 0 → 100644 +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 Loading
scripts/spack/packages/gekkofs/package.py +3 −0 Original line number Diff line number Diff line Loading @@ -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'))
scripts/spack/packages/syscall-intercept/package.py +1 −0 Original line number Diff line number Diff line Loading @@ -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): Loading
scripts/spack/packages/syscall-intercept/syscall-intercept-clone.patch 0 → 100644 +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