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