mirror of git://sourceware.org/git/glibc.git
alpha: Merge standard and nptl clone.S
This commit is contained in:
parent
132c7f5f01
commit
279b24e2e5
|
|
@ -1,5 +1,9 @@
|
||||||
2014-05-23 Richard Henderson <rth@twiddle.net>
|
2014-05-23 Richard Henderson <rth@twiddle.net>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/alpha/clone.S: Deconditionalize the code
|
||||||
|
that was previously under [RESET_PID].
|
||||||
|
* sysdeps/unix/sysv/linux/alpha/nptl/clone.S: File removed.
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/alpha/nptl/fork.c: Remove file.
|
* sysdeps/unix/sysv/linux/alpha/nptl/fork.c: Remove file.
|
||||||
|
|
||||||
2014-05-23 Joseph Myers <joseph@codesourcery.com>
|
2014-05-23 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
|
||||||
|
|
@ -57,9 +57,7 @@ __clone:
|
||||||
subq a1, 32, a1
|
subq a1, 32, a1
|
||||||
stq a0, 0(a1)
|
stq a0, 0(a1)
|
||||||
stq a3, 8(a1)
|
stq a3, 8(a1)
|
||||||
#ifdef RESET_PID
|
|
||||||
stq a2, 16(a1)
|
stq a2, 16(a1)
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The syscall is of the form clone(flags, usp, ptid, ctid, tls).
|
/* The syscall is of the form clone(flags, usp, ptid, ctid, tls).
|
||||||
Shift the flags, ptid, ctid, tls arguments into place; the
|
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
|
its own function so that we can terminate the stack trace with our
|
||||||
debug info. */
|
debug info. */
|
||||||
|
|
||||||
|
.align 4
|
||||||
.ent thread_start
|
.ent thread_start
|
||||||
cfi_startproc
|
cfi_startproc
|
||||||
thread_start:
|
thread_start:
|
||||||
|
|
@ -93,14 +92,12 @@ thread_start:
|
||||||
cfi_def_cfa_register(fp)
|
cfi_def_cfa_register(fp)
|
||||||
cfi_undefined(ra)
|
cfi_undefined(ra)
|
||||||
|
|
||||||
#ifdef RESET_PID
|
|
||||||
/* Check and see if we need to reset the PID. */
|
/* Check and see if we need to reset the PID. */
|
||||||
ldq t0, 16(sp)
|
ldq t0, 16(sp)
|
||||||
lda t1, CLONE_THREAD
|
lda t1, CLONE_THREAD
|
||||||
and t0, t1, t2
|
and t0, t1, t2
|
||||||
beq t2, 2f
|
beq t2, 2f
|
||||||
1:
|
1:
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Load up the arguments. */
|
/* Load up the arguments. */
|
||||||
ldq pv, 0(sp)
|
ldq pv, 0(sp)
|
||||||
|
|
@ -120,9 +117,10 @@ thread_start:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Die horribly. */
|
/* Die horribly. */
|
||||||
|
.align 4
|
||||||
halt
|
halt
|
||||||
|
|
||||||
#ifdef RESET_PID
|
.align 4
|
||||||
2:
|
2:
|
||||||
rduniq
|
rduniq
|
||||||
lda t1, CLONE_VM
|
lda t1, CLONE_VM
|
||||||
|
|
@ -136,7 +134,6 @@ thread_start:
|
||||||
stl v0, PID_OFFSET(s0)
|
stl v0, PID_OFFSET(s0)
|
||||||
stl v0, TID_OFFSET(s0)
|
stl v0, TID_OFFSET(s0)
|
||||||
br 1b
|
br 1b
|
||||||
#endif
|
|
||||||
cfi_endproc
|
cfi_endproc
|
||||||
.end thread_start
|
.end thread_start
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
/* We want an #include_next, but we are the main source file.
|
|
||||||
So, #include ourselves and in that incarnation we can use #include_next. */
|
|
||||||
#ifndef INCLUDED_SELF
|
|
||||||
# define INCLUDED_SELF
|
|
||||||
# include <clone.S>
|
|
||||||
#else
|
|
||||||
# define RESET_PID
|
|
||||||
# include_next <clone.S>
|
|
||||||
#endif
|
|
||||||
Loading…
Reference in New Issue