xref: /aosp_15_r20/external/musl/src/thread/x86_64/clone.s (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker.text
2*c9945492SAndroid Build Coastguard Worker.global __clone
3*c9945492SAndroid Build Coastguard Worker.hidden __clone
4*c9945492SAndroid Build Coastguard Worker.type   __clone,@function
5*c9945492SAndroid Build Coastguard Worker__clone:
6*c9945492SAndroid Build Coastguard Worker	xor %eax,%eax
7*c9945492SAndroid Build Coastguard Worker	mov $56,%al
8*c9945492SAndroid Build Coastguard Worker	mov %rdi,%r11
9*c9945492SAndroid Build Coastguard Worker	mov %rdx,%rdi
10*c9945492SAndroid Build Coastguard Worker	mov %r8,%rdx
11*c9945492SAndroid Build Coastguard Worker	mov %r9,%r8
12*c9945492SAndroid Build Coastguard Worker	mov 8(%rsp),%r10
13*c9945492SAndroid Build Coastguard Worker	mov %r11,%r9
14*c9945492SAndroid Build Coastguard Worker	and $-16,%rsi
15*c9945492SAndroid Build Coastguard Worker	sub $8,%rsi
16*c9945492SAndroid Build Coastguard Worker	mov %rcx,(%rsi)
17*c9945492SAndroid Build Coastguard Worker	syscall
18*c9945492SAndroid Build Coastguard Worker	test %eax,%eax
19*c9945492SAndroid Build Coastguard Worker	jnz 1f
20*c9945492SAndroid Build Coastguard Worker	xor %ebp,%ebp
21*c9945492SAndroid Build Coastguard Worker	pop %rdi
22*c9945492SAndroid Build Coastguard Worker	call *%r9
23*c9945492SAndroid Build Coastguard Worker	mov %eax,%edi
24*c9945492SAndroid Build Coastguard Worker	xor %eax,%eax
25*c9945492SAndroid Build Coastguard Worker	mov $60,%al
26*c9945492SAndroid Build Coastguard Worker	syscall
27*c9945492SAndroid Build Coastguard Worker	hlt
28*c9945492SAndroid Build Coastguard Worker1:	ret
29