mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-06 12:00:24 +08:00
Consolidate NPTL vs non clone.S for ARM.
This commit is contained in:
parent
e0db65176f
commit
bba6da4e1b
@ -1,5 +1,9 @@
|
|||||||
2014-05-13 Roland McGrath <roland@hack.frob.com>
|
2014-05-13 Roland McGrath <roland@hack.frob.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/arm/clone.S: Include <tcb-offsets.h>.
|
||||||
|
Deconditionalize the code that was previously under [RESET_PID].
|
||||||
|
* sysdeps/unix/sysv/linux/arm/nptl/clone.S: File removed.
|
||||||
|
|
||||||
* sysdeps/generic/exit-thread.h: New file.
|
* sysdeps/generic/exit-thread.h: New file.
|
||||||
* sysdeps/unix/sysv/linux/exit-thread.h: New file.
|
* sysdeps/unix/sysv/linux/exit-thread.h: New file.
|
||||||
* include/unistd.h (__exit_thread): Remove declaration.
|
* include/unistd.h (__exit_thread): Remove declaration.
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
and invokes a function in the right context after its all over. */
|
and invokes a function in the right context after its all over. */
|
||||||
|
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
|
#include <tcb-offsets.h>
|
||||||
#define _ERRNO_H 1
|
#define _ERRNO_H 1
|
||||||
#include <bits/errno.h>
|
#include <bits/errno.h>
|
||||||
|
|
||||||
@ -45,9 +46,7 @@ ENTRY(__clone)
|
|||||||
@ do the system call
|
@ do the system call
|
||||||
@ get flags
|
@ get flags
|
||||||
mov r0, r2
|
mov r0, r2
|
||||||
#ifdef RESET_PID
|
|
||||||
mov ip, r2
|
mov ip, r2
|
||||||
#endif
|
|
||||||
@ new sp is already in r1
|
@ new sp is already in r1
|
||||||
push {r4, r7}
|
push {r4, r7}
|
||||||
cfi_adjust_cfa_offset (8)
|
cfi_adjust_cfa_offset (8)
|
||||||
@ -71,7 +70,6 @@ PSEUDO_END (__clone)
|
|||||||
1:
|
1:
|
||||||
.fnstart
|
.fnstart
|
||||||
.cantunwind
|
.cantunwind
|
||||||
#ifdef RESET_PID
|
|
||||||
tst ip, #CLONE_THREAD
|
tst ip, #CLONE_THREAD
|
||||||
bne 3f
|
bne 3f
|
||||||
GET_TLS (lr)
|
GET_TLS (lr)
|
||||||
@ -85,7 +83,6 @@ PSEUDO_END (__clone)
|
|||||||
str r0, NEGOFF_OFF1 (r1, TID_OFFSET)
|
str r0, NEGOFF_OFF1 (r1, TID_OFFSET)
|
||||||
str r0, NEGOFF_OFF2 (r1, PID_OFFSET, TID_OFFSET)
|
str r0, NEGOFF_OFF2 (r1, PID_OFFSET, TID_OFFSET)
|
||||||
3:
|
3:
|
||||||
#endif
|
|
||||||
@ pick the function arg and call address off the stack and execute
|
@ pick the function arg and call address off the stack and execute
|
||||||
ldr r0, [sp, #4]
|
ldr r0, [sp, #4]
|
||||||
ldr ip, [sp], #8
|
ldr ip, [sp], #8
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
#define RESET_PID
|
|
||||||
#include <tcb-offsets.h>
|
|
||||||
#include "../clone.S"
|
|
Loading…
Reference in New Issue
Block a user