elf.h: add ELFCOMPRESS_ZSTD
[musl] / src / thread / x32 / clone.s
1 .text
2 .global __clone
3 .hidden __clone
4 .type   __clone,@function
5 __clone:
6         movl $0x40000038,%eax /* SYS_clone */
7         mov %rdi,%r11
8         mov %rdx,%rdi
9         mov %r8,%rdx
10         mov %r9,%r8
11         mov 8(%rsp),%r10
12         mov %r11,%r9
13         and $-16,%rsi
14         sub $8,%rsi
15         mov %rcx,(%rsi)
16         syscall
17         test %eax,%eax
18         jnz 1f
19         xor %ebp,%ebp
20         pop %rdi
21         call *%r9
22         mov %eax,%edi
23         movl $0x4000003c,%eax /* SYS_exit */
24         syscall
25         hlt
26 1:      ret