projects
/
musl
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
0446338568f0a8add741a32427a5b042fc1036b4
[musl]
/
clone.s
1
.set noreorder
2
.global __clone
3
.hidden __clone
4
.type __clone,@function
5
__clone:
6
# Save function pointer and argument pointer on new thread stack
7
and $5, $5, -8
8
subu $5, $5, 16
9
sw $4, 0($5)
10
sw $7, 4($5)
11
# Shuffle (fn,sp,fl,arg,ptid,tls,ctid) to (fl,sp,ptid,tls,ctid)
12
move $4, $6
13
lw $6, 16($sp)
14
lw $7, 20($sp)
15
lw $9, 24($sp)
16
subu $sp, $sp, 16
17
sw $9, 16($sp)
18
li $2, 4120
19
syscall
20
beq $7, $0, 1f
21
nop
22
addu $sp, $sp, 16
23
jr $ra
24
subu $2, $0, $2
25
1: beq $2, $0, 1f
26
nop
27
addu $sp, $sp, 16
28
jr $ra
29
nop
30
1: lw $25, 0($sp)
31
lw $4, 4($sp)
32
jalr $25
33
nop
34
move $4, $2
35
li $2, 4001
36
syscall