mirror of https://git.musl-libc.org/git/musl
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
387 B
32 lines
387 B
.syntax unified
|
|
.text
|
|
.global __clone
|
|
.hidden __clone
|
|
.type __clone,%function
|
|
__clone:
|
|
stmfd sp!,{r4,r5,r6,r7}
|
|
mov r7,#120
|
|
mov r6,r3
|
|
mov r5,r0
|
|
mov r0,r2
|
|
and r1,r1,#-16
|
|
ldr r2,[sp,#16]
|
|
ldr r3,[sp,#20]
|
|
ldr r4,[sp,#24]
|
|
svc 0
|
|
tst r0,r0
|
|
beq 1f
|
|
ldmfd sp!,{r4,r5,r6,r7}
|
|
bx lr
|
|
|
|
1: mov r0,r6
|
|
tst r5,#1
|
|
bne 1f
|
|
mov lr,pc
|
|
mov pc,r5
|
|
2: mov r7,#1
|
|
svc 0
|
|
|
|
1: mov lr,pc
|
|
bx r5
|
|
b 2b
|
|
|