projects
/
musl
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
fix arm __tlsdesc_dynamic when built as thumb code without __ARM_ARCH>=5
[musl]
/
src
/
thread
/
riscv64
/
clone.s
1
# __clone(func, stack, flags, arg, ptid, tls, ctid)
2
# a0, a1, a2, a3, a4, a5, a6
3
4
# syscall(SYS_clone, flags, stack, ptid, tls, ctid)
5
# a7 a0, a1, a2, a3, a4
6
7
.global __clone
8
.type __clone, %function
9
__clone:
10
# Save func and arg to stack
11
addi a1, a1, -16
12
sd a0, 0(a1)
13
sd a3, 8(a1)
14
15
# Call SYS_clone
16
mv a0, a2
17
mv a2, a4
18
mv a3, a5
19
mv a4, a6
20
li a7, 220 # SYS_clone
21
ecall
22
23
beqz a0, 1f
24
# Parent
25
ret
26
27
# Child
28
1: ld a1, 0(sp)
29
ld a0, 8(sp)
30
jalr a1
31
32
# Exit
33
li a7, 93 # SYS_exit
34
ecall