diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/clone-internal.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/clone-internal.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c index d487022b49..40ef30303f 100644 --- a/sysdeps/unix/sysv/linux/clone-internal.c +++ b/sysdeps/unix/sysv/linux/clone-internal.c @@ -54,25 +54,17 @@ __clone_internal_fallback (struct clone_args *cl_args, void *stack = cast_to_pointer (cl_args->stack); int ret; -#ifdef __ia64__ - ret = __clone2 (func, stack, cl_args->stack_size, - flags, arg, - cast_to_pointer (cl_args->parent_tid), - cast_to_pointer (cl_args->tls), - cast_to_pointer (cl_args->child_tid)); -#else -# if !_STACK_GROWS_DOWN && !_STACK_GROWS_UP -# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" -# endif +#if !_STACK_GROWS_DOWN && !_STACK_GROWS_UP +# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" +#endif -# if _STACK_GROWS_DOWN +#if _STACK_GROWS_DOWN stack += cl_args->stack_size; -# endif +#endif ret = __clone (func, stack, flags, arg, cast_to_pointer (cl_args->parent_tid), cast_to_pointer (cl_args->tls), cast_to_pointer (cl_args->child_tid)); -#endif return ret; } |