diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc64/clone.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc64/clone.S | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S index e2d3914358..81812c689f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@tamu.edu). @@ -24,9 +24,6 @@ #include <tcb-offsets.h> #include <sysdep.h> -#define CLONE_VM 0x00000100 -#define CLONE_THREAD 0x00010000 - /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg, pid_t *ptid, void *tls, pid_t *ctid); */ @@ -52,7 +49,6 @@ ENTRY (__clone) expects. Also, subtract STACK_BIAS. */ sub %i1, 192 + 0x7ff, %o1 mov %i3, %g3 - mov %i2, %g4 mov %i4,%o2 /* PTID */ mov %i5,%o3 /* TLS */ @@ -77,23 +73,14 @@ END(__clone) .type __thread_start,@function __thread_start: - sethi %hi(CLONE_THREAD), %l0 - andcc %g4, %l0, %g0 - bne,pt %icc, 1f - andcc %g4, CLONE_VM, %g0 - bne,a,pn %icc, 2f - mov -1,%o0 - set __NR_getpid,%g1 - ta 0x6d -2: st %o0,[%g7 + PID] - st %o0,[%g7 + TID] -1: mov %g0, %fp /* terminate backtrace */ call %g2 mov %g3,%o0 - call HIDDEN_JUMPTARGET(_exit),0 + set __NR_exit, %g1 + ta 0x6d nop .size __thread_start, .-__thread_start +libc_hidden_def (__clone) weak_alias (__clone, clone) |