summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/alpha/clone.S
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2014-05-21 14:36:45 -0700
committerRichard Henderson <rth@twiddle.net>2014-05-23 11:20:41 -0700
commit279b24e2e5207f568d2d47b856f2227d884efd11 (patch)
tree7e6712383feda102e0dee54bed33360260368d90 /sysdeps/unix/sysv/linux/alpha/clone.S
parent132c7f5f01fe17f3161be7d03c7b1f07ae46b98b (diff)
downloadglibc-279b24e2e5207f568d2d47b856f2227d884efd11.tar.gz
alpha: Merge standard and nptl clone.S
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/clone.S')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/clone.S9
1 files changed, 3 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/clone.S b/sysdeps/unix/sysv/linux/alpha/clone.S
index c5c3300c47..f4e2e1c12d 100644
--- a/sysdeps/unix/sysv/linux/alpha/clone.S
+++ b/sysdeps/unix/sysv/linux/alpha/clone.S
@@ -57,9 +57,7 @@ __clone:
subq a1, 32, a1
stq a0, 0(a1)
stq a3, 8(a1)
-#ifdef RESET_PID
stq a2, 16(a1)
-#endif
/* The syscall is of the form clone(flags, usp, ptid, ctid, tls).
Shift the flags, ptid, ctid, tls arguments into place; the
@@ -86,6 +84,7 @@ PSEUDO_END(__clone)
its own function so that we can terminate the stack trace with our
debug info. */
+ .align 4
.ent thread_start
cfi_startproc
thread_start:
@@ -93,14 +92,12 @@ thread_start:
cfi_def_cfa_register(fp)
cfi_undefined(ra)
-#ifdef RESET_PID
/* Check and see if we need to reset the PID. */
ldq t0, 16(sp)
lda t1, CLONE_THREAD
and t0, t1, t2
beq t2, 2f
1:
-#endif
/* Load up the arguments. */
ldq pv, 0(sp)
@@ -120,9 +117,10 @@ thread_start:
#endif
/* Die horribly. */
+ .align 4
halt
-#ifdef RESET_PID
+ .align 4
2:
rduniq
lda t1, CLONE_VM
@@ -136,7 +134,6 @@ thread_start:
stl v0, PID_OFFSET(s0)
stl v0, TID_OFFSET(s0)
br 1b
-#endif
cfi_endproc
.end thread_start