b7fb788b156d31865420d8fc123f20d0d0797609
[musl] / src / thread / arm / clone.s
1 .text
2 .global __clone
3 .type   __clone,%function
4 __clone:
5         stmfd sp!,{r4,r5,r6,r7}
6         mov r7,#120
7         mov r6,r3
8         mov r5,r0
9         mov r0,r2
10         and r1,r1,#-16
11         ldr r2,[sp,#16]
12         ldr r3,[sp,#20]
13         ldr r4,[sp,#24]
14         svc 0
15         tst r0,r0
16         beq 1f
17         ldmfd sp!,{r4,r5,r6,r7}
18         bx lr
19
20 1:      mov r0,r6
21         tst r5,#1
22         bne 1f
23         mov lr,pc
24         mov pc,r5
25 2:      mov r7,#1
26         svc 0
27
28 1:      mov lr,pc
29         bx r5
30         b 2b