1570af302Sopenharmony_ci/* int clone(fn, stack, flags, arg, ptid, tls, ctid) 2570af302Sopenharmony_ci * r3 r4 r5 r6 sp+0 sp+4 sp+8 3570af302Sopenharmony_ci * sys_clone(flags, stack, ptid, ctid, tls) 4570af302Sopenharmony_ci */ 5570af302Sopenharmony_ci.global __clone 6570af302Sopenharmony_ci.hidden __clone 7570af302Sopenharmony_ci.type __clone,@function 8570af302Sopenharmony_ci__clone: 9570af302Sopenharmony_ci l.addi r4, r4, -8 10570af302Sopenharmony_ci l.sw 0(r4), r3 11570af302Sopenharmony_ci l.sw 4(r4), r6 12570af302Sopenharmony_ci /* (fn, st, fl, ar, pt, tl, ct) => (fl, st, pt, ct, tl) */ 13570af302Sopenharmony_ci l.ori r3, r5, 0 14570af302Sopenharmony_ci l.lwz r5, 0(r1) 15570af302Sopenharmony_ci l.lwz r6, 8(r1) 16570af302Sopenharmony_ci l.lwz r7, 4(r1) 17570af302Sopenharmony_ci l.ori r11, r0, 220 /* __NR_clone */ 18570af302Sopenharmony_ci l.sys 1 19570af302Sopenharmony_ci 20570af302Sopenharmony_ci l.sfeqi r11, 0 21570af302Sopenharmony_ci l.bf 1f 22570af302Sopenharmony_ci l.nop 23570af302Sopenharmony_ci l.jr r9 24570af302Sopenharmony_ci l.nop 25570af302Sopenharmony_ci 26570af302Sopenharmony_ci1: l.lwz r11, 0(r1) 27570af302Sopenharmony_ci l.jalr r11 28570af302Sopenharmony_ci l.lwz r3, 4(r1) 29570af302Sopenharmony_ci 30570af302Sopenharmony_ci l.ori r11, r0, 93 /* __NR_exit */ 31570af302Sopenharmony_ci l.sys 1 32