1*c9945492SAndroid Build Coastguard Worker.global vfork 2*c9945492SAndroid Build Coastguard Worker.type vfork,@function 3*c9945492SAndroid Build Coastguard Workervfork: 4*c9945492SAndroid Build Coastguard Worker /* riscv does not have SYS_vfork, so we must use clone instead */ 5*c9945492SAndroid Build Coastguard Worker /* note: riscv's clone = clone(flags, sp, ptidptr, tls, ctidptr) */ 6*c9945492SAndroid Build Coastguard Worker li a7, 220 7*c9945492SAndroid Build Coastguard Worker li a0, 0x100 | 0x4000 | 17 /* flags = CLONE_VM | CLONE_VFORK | SIGCHLD */ 8*c9945492SAndroid Build Coastguard Worker mv a1, sp 9*c9945492SAndroid Build Coastguard Worker /* the other arguments are ignoreable */ 10*c9945492SAndroid Build Coastguard Worker ecall 11*c9945492SAndroid Build Coastguard Worker .hidden __syscall_ret 12*c9945492SAndroid Build Coastguard Worker j __syscall_ret 13